首先在EF代码中混合使用Fluent API和DataAnnotations

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

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

我们目前正在使用EF 4.3.1

我个人没有遇到任何问题混合代码第一流畅的api和数据注释。 我也想知道是否会有任何交叉的痛苦,我可以诚实地说我还没有发现任何问题。 这里有一些关于这个主题的案例研究的参考,以减轻你的想法。

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

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

您可以同时使用Data Annotation属性和Fluent API。 entity framework优先于Fluent API而不是Data Annotations属性。

我不认为这是一种风险 – 因为两者都有相同的对应物。

但是,就个人而言,当我遇到围绕构造我的实体的某些问题时 – 我做的第一件事就是删除注释(如果有的话) – 并且将所有内容移动到流利。

随着时间的推移,我使用了非常直接的流畅配置(也释放了我与Db’心态’的任何联系的对象)…

IMO它“更安全”,但只是在某种程度上你可以做得更多,并按照你想要的方式完全控制事物。 还有助于在一个地方保持一致。