Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 首先在EF代码中混合使用Fluent API和DataAnnotation_C#_Entity Framework_Ef Code First_Data Annotations_Entity Framework 4.3 - Fatal编程技术网

C# 首先在EF代码中混合使用Fluent API和DataAnnotation

C# 首先在EF代码中混合使用Fluent API和DataAnnotation,c#,entity-framework,ef-code-first,data-annotations,entity-framework-4.3,C#,Entity Framework,Ef Code First,Data Annotations,Entity Framework 4.3,虽然我们的代码优先POCO大多使用fluent配置,但我们发现对表名、PKs等使用数据注释是很有用的,因为它使没有引用ObjectContext的非EF组件更容易与这些实体交互 根据我们的经验,这两种配置风格似乎可以自由混合,流畅的配置覆盖了DataAnnotation。这有文件记录吗?进行这种混合配置有风险吗 我们目前正在使用EF4.3.1,我个人在混合使用代码优先的fluent api和数据注释时没有遇到任何问题。我还想知道是否会有任何交叉的痛苦,我可以诚实地说,我还没有找到任何。这里有一些

虽然我们的代码优先POCO大多使用fluent配置,但我们发现对表名、PKs等使用数据注释是很有用的,因为它使没有引用ObjectContext的非EF组件更容易与这些实体交互

根据我们的经验,这两种配置风格似乎可以自由混合,流畅的配置覆盖了DataAnnotation。这有文件记录吗?进行这种混合配置有风险吗


我们目前正在使用EF4.3.1,我个人在混合使用代码优先的fluent api和数据注释时没有遇到任何问题。我还想知道是否会有任何交叉的痛苦,我可以诚实地说,我还没有找到任何。这里有一些关于这个主题的案例研究的参考资料,可以让你放松

(直接来自EF团队)

(第一部分)

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

(直接来自EF团队)

(第一部分)
我不认为这是一种风险,因为在大多数情况下,这两种情况都有相同的对应关系

但是,就我个人而言,当我在构建实体方面遇到一些问题时——我做的第一件事就是删除注释(如果有的话)——并将所有注释都转移到fluent

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

在我看来,这是“更安全的”,但只有在一种方式,你可以做更多和控制 一切都是你想要的。也有助于保存东西 一致且在一个地方


我不认为这是一种风险,因为这两种情况在大多数情况下都有相同的对应关系

但是,就我个人而言,当我在构建实体方面遇到一些问题时——我做的第一件事就是删除注释(如果有的话)——并将所有注释都转移到fluent

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

在我看来,这是“更安全的”,但只有在一种方式,你可以做更多和控制 一切都是你想要的。也有助于保存东西 一致且在一个地方


您可以同时使用数据注释属性和Fluent API。实体框架使Fluent API优先于数据注释属性。

您可以同时使用数据注释属性和Fluent API。实体框架将Fluent API置于数据注释属性之上。

这是唯一正确的答案。其他答案很模糊。这是我需要的细节,非常简洁。做得好!这是唯一正确的答案。其他答案很模糊。这是我需要的细节,非常简洁。做得好!