我有一个实体,其属性名为 ParentId,链接到名为 Parent 的导航属性。这种关系似乎工作正常,但我的问题是现在我想要另一个导航属性,它是一个“子”项目列表,其中父项与实体 ID 相同。
我在我的 FK 属性中尝试了“ID”、“Parent”,但我得到“类型'jrSite.Core.SiteModel' 上的属性'Children' 上的 ForeignKeyAttribute 无效”错误。
我如何告诉 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;
}
}