2015-05-24 208 views
3

我需要在实体框架中定义组织图表模式。实体框架同一实体上的一对多关系

PersonelJob实体模型是:

public class PersonelJob : BaseEntity 
{ 
    public Int64 ID { get; set; } 
    public string Name { get; set; } 
    public Int64? ParentId { get; set; } 
    public virtual PersonelJob Parent { get; set; } 
    public virtual ICollection<PersonelJob> Childs { get; set; } 
} 

正如你可以看到每个作业可能是一个工作的父母有一些工作的孩子。

如何使用Fulent Api将此实体映射到数据库?

回答

1

覆盖你的背景下OnModelCreating方法,并添加该配置:

modelBuilder.Entity<PersonelJob>() 
      .HasOptional(pj => pj.Parent) 
      .WithMany(pj=>pj.Childs) 
      .HasForeignKey(pj => pj.ParentId);