2

我很难在 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 和单独的映射。我也尝试过使用两个映射表进行操作。这两个都变得一团糟,无论如何我都没有设法让它们工作。

我在关系中不需要任何有效负载。

非常感谢任何帮助!

4

1 回答 1

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"));
于 2012-10-19T13:18:03.940 回答