【发布时间】:2016-09-29 13:33:57
【问题描述】:
我正在尝试将多对多关系映射到同一个实体。 User 实体有一个IList<User> 数据字段用于Contacts,用于存储用户的联系人/朋友信息:
public class User : DomainModel
{
public virtual IList<User> Contacts { get; protected set; }
//irrelevant code omitted
}
当我尝试使用 fluent API 来映射这种多对多关系时,它给我带来了一些麻烦。显然,当我在user.Contacts 属性上使用HasMany() 时,它没有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
那么为什么会这样呢?在映射这种多对多关系时我做错了什么吗?
【问题讨论】:
标签: c# linq asp.net-core .net-core entity-framework-core