1

自己参照コードファーストエンティティに問題があります。コードは次のようになります。

public class Contact
{
   [Key]
   public Guid Id { get; set; }

   [ForeignKey("AssignedCompany")]
   public Guid? AssignedCompanyId { get; set; }

   [InverseProperty("AssignedContacts")]
   public virtual Contact AssignedCompany { get; set; }
   [InverseProperty("AssignedCompany")]
   public virtual ICollection<Contact> AssignedContacts { get; set; }
}

Add-Migration(EF 5)を開始したい場合、Add-MigrationがContactとContactの間のプリンシパルエンドを見つけることができないという次のエラーメッセージが表示されます。

私は何を間違えますか?誰かが答えを知っていますか?

どうもありがとう。よろしくクリスチャン・マース

4

1 に答える 1

0

InverseProperty 属性は、クラス間に複数の関係がある場合にのみ使用してください。すべての InverseProperty 属性を削除することで問題を解決できます。

そうすることで、うまくいきます:

[ForeignKey("AssignedCompany")]
public Guid? AssignedCompanyId { get; set; }

public virtual Contact AssignedCompany { get; set; }

public virtual ICollection<Contact> AssignedContacts { get; set; }
于 2013-03-26T06:16:57.960 に答える