实体框架CTP5(代码优先)建模 - 查找表

Chr*_*eis 6 entity-framework data-modeling code-first ef-code-first 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
Run Code Online (Sandbox Code Playgroud)

赋值表将任务与分配给它的资源相关联.是否可以使用模型构建器映射此结构,以便我不必创建Assignment poco类 - 隐藏一些基础数据结构?

IE:

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; }
}
Run Code Online (Sandbox Code Playgroud)

如何在不创建赋值poco类的情况下使用模型构建器将任务映射到资源?

mxm*_*ile 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"); 

});
Run Code Online (Sandbox Code Playgroud)