11

虽然我们主要对代码优先的 POCO 使用流畅的配置,但我们发现对表名、PK 等内容使用数据注释很有用,因为它使没有参考的非 EF 组件更容易到 ObjectContext 以与这些实体进行交互。

根据我们的经验,这两种配置风格似乎可以自由混合,流畅的配置覆盖 DataAnnotations。这在任何地方都有记录吗?做这种混合配置有什么风险吗?

我们目前使用的是 EF 4.3.1

4

3 回答 3

39

您可以同时使用 Data Annotation 属性和 Fluent API。Entity Framework 优先于 Fluent API 而非 Data Annotations 属性。

于 2017-12-15T18:03:11.627 回答
7

我个人没有遇到混合代码优先流利的 api 和数据注释的任何问题。我还想知道是否会有任何交叉疼痛,老实说,我还没有找到。这里有一些关于这个主题的案例研究的参考资料,可以让你放松一下。

(直接来自 EF 团队) http://msdn.microsoft.com/en-us/data/jj591583.aspx

(第 1 部分) http://www.codeproject.com/Articles/476966/FluentplusAPIplusvsplusDataplusAnnotations-plusWor

于 2013-03-29T16:14:17.730 回答
1

我不认为这是一种风险——因为这两种东西在大多数情况下都有相当的对应物。

但是,就我个人而言,当我在构建我的实体时遇到某种问题时——我要做的第一件事就是删除任何注释——然后让所有的东西变得流畅。

随着时间的推移,这导致我使用了非常流畅的配置(也让我的对象与 Db 的“心态”有任何联系)......

IMO 它“更安全”,但只有在某种程度上,您可以做更多事情并完全按照您的意愿控制事情。还有助于使事情保持一致并集中在一个地方。

于 2013-03-30T12:01:06.483 回答