为什么不能将DataAnnotations KeyAttribute用于复合键?

时间:2019-03-29 11:35:14

标签: c# entity-framework-core

EntityFramework Core限制使用KeyAttribute定义组合键。 但是,这种限制的原因是什么?我have found a solution对此没有使用Fluent api。

1 个答案:

答案 0 :(得分:1)

根据此GitHub Issue,在即将发布的EF Core版本中将要执行此积压。在GitHub Issue中,您正在寻找的解释是

  

原因是它使用键和列的组合进行排序,但是列排序与键排序不同,因此这引起了EF6的混乱和问题。更改现有数据注释的成本也很高,因为它们与.NET Core和.NET Framework的关系。

     

但是,我们看到能够使用属性进行此配置和其他常见配置的价值,因为跳转到流畅的API可能是一个很大的过程。因此,我们将研究使用其他新的EF配置属性(可与数据注释一起使用)创建新的库/程序包。这将是在那里实现的事情之一。

但是,According to this announcement是来自 ASP.NET Core 3.0 的,您可以将EF 6.x的所有功能与ASP.NET Core一起使用,因为将在 EF 6.3上.NET Core> = 3.0