Entity Framework 同一实体的一对多关系
Entity Framework One-Many Relationship on Same Entity
我需要在 Entity Framework 中定义组织结构图模式。
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 将此实体映射到数据库?
覆盖上下文中的 OnModelCreating
方法并添加此配置:
modelBuilder.Entity<PersonelJob>()
.HasOptional(pj => pj.Parent)
.WithMany(pj=>pj.Childs)
.HasForeignKey(pj => pj.ParentId);
我需要在 Entity Framework 中定义组织结构图模式。
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 将此实体映射到数据库?
覆盖上下文中的 OnModelCreating
方法并添加此配置:
modelBuilder.Entity<PersonelJob>()
.HasOptional(pj => pj.Parent)
.WithMany(pj=>pj.Childs)
.HasForeignKey(pj => pj.ParentId);