6

次のテーブル構造を想定します。

テーブル:

**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 クラスを作成せずにタスクをリソースにマップするにはどうすればよいですか?

4

1 に答える 1

3

これはまさにこのことについての記事です

編集、私は私の前にIDEを持っていないので、これは正確な「最新の」構文ではないかもしれませんが、それはあなたが始めるのに役立つはずです:

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"); 

});
于 2011-02-22T16:32:54.590 に答える