ParentId というプロパティが Parent というナビゲーション プロパティにリンクされたエンティティがあります。この関係は正常に機能しているようですが、私の問題は、親がエンティティ ID と同じである「子」アイテムのリストである別のナビゲーション プロパティが必要なことです。
FK 属性で「ID」、「Parent」を試しましたが、「タイプ 'jrSite.Core.SiteModel' のプロパティ 'Children' の ForeignKeyAttribute が無効です」というエラーが表示されます。
そのナビゲーション プロパティで SiteModel テーブルを検索して、親 ID が一致する項目を検索するように EF に指示するにはどうすればよいですか?
私のクラスは以下です
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;
}
}