我正在尝试使用同一个实体映射多对多关系。User
实体具有一个IList<User>
数据字段,用于存储用户的联系人/朋友信息:Contacts
。
public class User : DomainModel
{
public virtual IList<User> Contacts { get; protected set; }
//irrelevant code omitted
}
当我尝试使用流畅的API来映射这个多对多的关系时,它给了我一些麻烦。 显然,当我在user.Contacts
属性上使用HasMany()
时,它没有下一个要调用的WithMany()
方法。 Visual Studio的Intellisense只显示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
那么为什么会出现这种情况呢?是我在映射这个多对多关系时做错了什么吗?