我很难在ASP.NET MVC4中使用EF设置双向自引用多对多映射
我有:
modelBuilder.Entity<Item>()
.HasMany(i => i.ChildItems)
.WithMany()
.Map(m => m.MapLeftKey("ItemID")
.MapRightKey("ChildItemId")
.ToTable("ItemChildItems"));
所以我能够查询Item.ChildItems没问题。
但是,我也想要Item.Parents
我确信必须有一个明显的解决方案,但我错过了它。我尝试过创建另一个实体Parent:Item和一个单独的映射。我也试过用两个映射表操作。这些都变得混乱,我还是没有设法使它们工作。
我不需要任何有效载荷。
任何帮助都非常感谢!
答案 0 :(得分:3)
你试过这个吗?
modelBuilder.Entity<Item>()
.HasMany(i => i.ChildItems)
.WithMany(i => i.Parents) // associate the parent items here
.Map(m => m.MapLeftKey("ItemID")
.MapRightKey("ChildItemId")
.ToTable("ItemChildItems"));