为什么没有简单的方法在EF Core中定义多对多关系?

时间:2019-05-22 08:11:33

标签: c# .net-core ef-core-2.0

我试图通过使用EF Core 2.0在两个类之间建立多对多关系,方法是在每个类中仅包含另一个ICollection。

这似乎在EF 6(see this tutorial)中很好用。为什么这在EF Core中不起作用?

public class ClassA {

   [...]

   public ICollection<ClassB> Bs { get; set; }
}

public class ClassB {

   [...]

   public ICollection<ClassA> As { get; set; }
}

我在EF核心(see this tutorial)中找到了一种方法来执行此操作,但这看起来比需要的工作更多。

有人知道他们是否打算在不久的将来对此提供支持?

1 个答案:

答案 0 :(得分:5)

3.0 版本开始,

实体核心应该提供多对多关系而没有映射表。 您可以关注github票证here

等待此功能,解决方法是将联接表用作实体。请参阅github讨论here上解释的解决方法。

编辑
正如Ivan所指出的那样,此功能状态仍处于积压状态,可能是3.0版或更高版本的一部分,也可能不是该版本的一部分(截至05/2019)。