0
親子関係で自分自身への参照を持つエンティティがあります。コードを最初に使い、流暢なAPIを使ってこれを実装する方法を調べる必要があります。以下は私のエンティティクラスです。最初にコードを使用して自己参照テーブルを作成するにはどうすればよいですか?
public class MenuItem
{
public int Id { get; set; }
public string LinkText { get; set; }
public string ControllerName { get; set; }
public string ActionName { get; set; }
public MenuItem Parent { get; set; }
public int ParentId { get; set; }
private IList<Role> Roles;
private IList<MenuItem> ChildMenuItems;
public MenuItem()
{
Roles = new List<Role>();
ChildMenuItems = new List<MenuItem>();
}
}
私のエンティティ構成では、次のコードを使用してみました。
HasOptional(m => m.Parent)
.WithMany(m => m.ChildMenuItems)
.HasForeignKey(m => m.ParentId)
.WillCascadeOnDelete(false);
が、私はこのエラーました -
つまたは複数の検証エラーがモデルの生成中に検出されました:
Vantage.Data.EF.MenuItem_Parent: で多重衝突をロール 'MenuItem_Parent_Target'の参照制約が の関係 'MenuItem_Parent'にあります。 依存ロールのすべてのプロパティはnull不可能なので、プリンシパルロール の多重度は「1」でなければなりません。
すべての助けに感謝します。
ありがとうございます。