假设以下表格结构:
表格
**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类的情况下使用模型构建器将任务映射到资源?
答案 0 :(得分:3)
Here is an article about this very thing
编辑,我面前没有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");
});