EF5 でモデルを定義するときに問題があります。ParentId
データベースの外部キーとして作成したいのですが、エラーが発生します:
System.Data.Entity.Edm.EdmAssociationType: : 多重度は、関係 'Category_Parent' のロール 'Category_Parent_Target' の参照制約と競合します。従属ロールのすべてのプロパティは null 非許容であるため、プリンシパル ロールの多重度は '1' でなければなりません。
ここに私のモデルがあります:
public class Category
{
public Category()
{
this.Childs = new HashSet<Category>();
}
public int CategoryId { get; set; }
public string Name { get; set; }
public int ParentId { get; set; }
public virtual Category Parent { get; set; }
public virtual ICollection<Category> Childs { get; set; }
}
と
modelBuilder.Entity<Category>()
.HasOptional(c => c.Parent)
.WithMany(c => c.Childs)
.HasForeignKey(d => d.ParentId);