我有一個名爲ParentId的屬性的實體鏈接到名爲Parent的導航屬性。這種關係似乎工作正常,但我的問題是現在我想要另一個導航屬性,這將是一個「子」項目的父母是相同的實體ID列表。使用代碼優先將實體導航屬性映射到同一個表
我已經嘗試過我的FK屬性中的「ID」,「Parent」,但是我得到了「屬性'Children'上的'ForeignKeyAttribute'類型'jrSite.Core.SiteModel'無效」錯誤。
我如何告訴EF我希望該導航屬性在SiteModel表中搜索具有匹配父ID的項目?
我班低於
public class SiteModel
{
public SiteModel() { }
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int ID { get; set; }
public DateTime Created { get; set; }
[ForeignKey("Creator")]
public int CreatorID;
public SiteAccount Creator { get; set; }
[ForeignKey("Owner")]
public int OwnerID;
public SiteAccount Owner { get; set; }
[ForeignKey("Parent")]
public int? ParentID;
public SiteModel Parent { get; set; }
[ForeignKey("Parent")]
public List<SiteModel> Children { get; set; }
public SiteModel(SiteAccount creator, SiteAccount owner)
{
Creator = creator;
Owner = owner;
Created = DateTime.Now;
}
}
你不需要這裏的構造:'public SiteModel(){}'。無論如何,它是默認的。 –
哦,歡呼聲花花公子:) –