2015-05-24 262 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);