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

Kon*_*mpf 2 c# .net-core ef-core-2.0

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

在EF 6中,这似乎很好用(请参阅本教程)。为什么这在EF Core中不起作用?

public class ClassA {

   [...]

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

public class ClassB {

   [...]

   public ICollection<ClassA> As { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我在EF核心中找到了一种方法来执行此操作(请参阅本教程),但这看起来比需要的更多人工工作。

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

Skr*_*ace 5

3.0版本开始,实体核心应该提供多对多关系而无需映射表。您可以在此处关注github票证。

等待此功能,解决方法是将联接表用作实体。查看此变通的github上讨论解释这里

编辑
Ivan指出,此功能状态仍在积压中,可能会或可能不会成为3.0版或更高版本的一部分(截至05/2019)。

  • 据我所知,此功能对EF Core 3很有希望,但不能保证。 (2认同)