假设我有一个小部件实体,并且我想跟踪相邻的其他小部件。如果第一个小部件与第二个小部件相邻,则反之亦然 - 第二个小部件也与第一个相邻。
理想情况下,我希望在实体上只有一个集合,并且可以流畅地配置实体以适应这种关系。
然而,当我尝试这样做时...
理想情况下,我希望在实体上只有一个集合,并且可以流畅地配置实体以适应这种关系。
public class Widget
{
// ...
public virtual ICollection<Widget> Adjacent { get; set; }
}
然而,当我尝试这样做时...
modelBuilder.Entity<Widget>
.HasMany(w => w.Adjacent)
.WithMany(w => w.Adjacent);
Entity Framework 非常不喜欢这样。
在类型 'Widget' 上声明的导航属性 'Adjacent' 不能是其自身的反转。
有没有一种配置实体的方法可以实现这个目标,还是我只能创建父/子集合导航属性或单独的关系容器?