多対多リレーションシップを同じエンティティにマップしようとしています。私は、多くの関係に、この多くをマッピングするために流暢なAPIを使用しようとすると、それは私にいくつかのトラブルを与えるエンティティフレームワークコア:同じエンティティと多対多の関係
public class User : DomainModel
{
public virtual IList<User> Contacts { get; protected set; }
//irrelevant code omitted
}
:User
エンティティは、ユーザーの連絡先/友人の情報を格納するContacts
ためIList<User>
データフィールドを、持っています。どうやら、をuser.Contacts
のプロパティに使用すると、次に呼び出す方法はWithMany()
になりません。 Visual StudioのインテリセンスはWithOne()
しか表示されませんが、WithMany()
は表示されません。
modelBuilder.Entity<User>().HasMany(u => u.Contacts).WithMany()
// gives compile time error: CS1061 'CollectionNavigationBuilder<User, User>' does not contain a definition for 'WithMany' and no extension method 'WithMany' accepting a first argument of type
これはどうしてですか?この多対多の関係をマップするのに間違ったことはありますか?
あなたはこれを見てとることがあります。最初のmodelBulder.Entityでhttps://ef.readthedocs.io/en/latest/modeling/relationships.html#many-to-many –