我有一个模型
集线器 -< 部分
部分是一个树层次结构,但它们都属于一个集线器(有另一个表管理层次结构,因为一个部分可以在树中出现两次)
集线器也应该有一个根部分,所以在我的集线器实体上我有:
public partial class Hub
{
public Hub()
{
this.Sections = new List<Section>();
}
public int HubId { get; set; }
public string Name { get; set; }
public virtual ICollection<Section> Sections { get; set; }
public int RootSectionId { get; set; }
public virtual Section RootSection { get; set; }
}
如果我没有按照以下方式设置映射:
public class HubMap : EntityTypeConfiguration<Hub>
{
public HubMap()
{
// Primary Key
this.HasKey(t => t.HubId);
// Table & Column Mappings
this.ToTable("Hubs");
this.Property(t => t.HubId).HasColumnName("HubId");
this.Property(t => t.Name).HasColumnName("Name");
// Relationships
this.HasRequired(t => t.Site)
.WithMany(t => t.Hubs)
.HasForeignKey(d => d.SiteId);
}
}
我收到关于找不到 RootSection_SectionId 列的错误。现在我可以重命名该列以匹配,但为了我对 EF 映射的理解,我希望能够指定它们的列,即“RootSectionId”
我需要在映射文件中包含什么来映射此字段?