同じ表の複数の1対多の関係。このプロパティは関連タイプの有効なナビゲーションプロパティではありません

ef-code-first entity-framework entity-framework-core

質問

私はこの関係をマッピングするのが難しいです。

public class Person
{
     public long Id { get; set; }

     [InverseProperty("Friend")]
     public virtual ICollection<Friendship> Friends { get; set; }
}

public class Friendship
{
    public long Id { get; set; }

    public long PersonId { get; set; }
    [ForeignKey(nameof(PersonId))]
    public virtual Person Person { get; set; }

    public long FriendPersonId{ get; set; }
    [ForeignKey(nameof(FriendPersonId))]
    public virtual Person Friend { get; set; }
}

次のエラーが表示されます

The InversePropertyAttribute on property 'Friends' on type 'Person' is not valid. The property 'Friends' is not a valid navigation property on the related type 'Friendship'. Ensure that the property exists and is a valid reference or collection navigation property.

FriendshipクラスにFriendという名前のプロパティが含まれていることがはっきりとわかりますが、何が無効なナビゲーションプロパティになっているのかわかりません。

InverseProperty属性をFriendPersonIdに変更した場合、null参照例外がスローされます。

受け入れられた回答

逆プロパティが正しく設定されていませんでした。

[InverseProperty("Person")])されている必要があります

クレジット:私の間違いを指摘するためのIvan Stoev



Related

ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ