6

次のテーブル構造を仮定する:Entity FrameworkのCTP5(コードファースト)モデリング - ルックアップテーブル

テーブル:

**Tasks** 
taskID int PK 
taskName varchar 

**Resources** 
resourceID int PK 
resourceName varchar 

**Assignments** 
assignmentID int PK 
taskID int FK 
resourceID int FK 

割り当てテーブルは、それに割り当てられたリソースにタスクに関する。私はAssignment pocoクラスを作成する必要がないように、この構造をモデルビルダーとマッピングすることができますか?基礎となるデータ構造のいくつかを隠していますか?

はすなわち:

public class Task 
{ 
    public int taskID { get; set; } 
    public string taskName { get; set; } 

    public virtual ICollection<Resource> resourceItems { get; set; } 
} 

public class Resource 
{ 
    public int resourceID { get; set; } 
    public string resourceName { get; set; } 
} 

がどのように割り当てPOCOクラスを作成せずにリソースにタスクをマップするためにモデルビルダーを使用することができますか?

答えて

3

Here is an article about this very thing

modelBuilder.Entity<Task>().HasMany(a => a.Resources).WithMany(b => b.Tasks).Map(m => 
{ 

    m.MapLeftKey(a => a.TaskId,"taskId"); 

    m.MapRightKey(b => b.ResourceId, "resourceId"); 

    m.ToTable("Assignments"); 

}); 
+0

をEFがSSDLであることを行っているその記事では:

編集、私は、これは正確な「最新の」構文ではないかもしれませんが、それはあなたが始める必要があります私の前にIDEを持っていけません&csdl。モデルビルダーを使用してコードにマップする方法を知る必要があります。私はCTP5でコードファーストアプローチを使用していることは私の質問では明確ではないかもしれません。私は私のタイトルを更新しました。 –

関連する問題