1

我正在使用 EF 5 开发 Windows 窗体应用程序并开始使用 Code First 方法构建数据库。我的问题是:“与数据库优先或模型优先相比,代码优先方法是否有一些限制?” 有什么建议么 ?

4

2 回答 2

1

只是特别(我将跳过一般的概述),

最困扰我的是缺乏对各种 Db 对象、视图、UDF、sp-s 的原生支持。
含义-当然,您可以使用它们-但您必须“注入” SQL并与“C# POCO”同步

您现在可以解决大部分问题 - 例如,您可以通过 SQL 查询调用的 UDF、SP-s - 并映射回来。

话虽如此 - 没有真正的支持,如果您习惯于在 Db 方面工作 - 这可能会有点痛苦。即,当您决定数据库的每个方面时,您必须放弃一些“完全控制”,并且可以进行调整和调整。您可以完成大部分工作,但要保持同步并不容易。

其他“第一”选项 - 在这个意义上更先进。

在性能方面 - 代码优先是the most involved- 即它没有预先生成(开箱即用)并且增加了加载时间。但是,与其他 EF 选项相比,这越来越不是一个问题 - EF Power Tools 可以通过使用sort of views(与 Db 视图无关)代码生成其中的一些来提高性能。

总的来说,我也经常使用它——因为它是最“灵活”的,而且 IMO 值得付出额外的努力。

于 2013-04-09T14:08:58.083 回答
0

快速搜索揭示了以下答案(来自关于 EF 的专家):

代码优先与模型/数据库优先

虽然问题涉及 EF 4.1,但答案应该提供足够的信息,以便您做出自己的决定。

于 2013-04-09T12:40:02.333 回答