我正在使用EF 5开发Windows窗体应用程序,并开始使用代码优先方法构建DB。我的问题是:"代码优先的方法与数据库优先或模型优先相比是否有一些约束"?有什么建议吗?
只是特别地(我将跳过一般的概述),
最让我困扰的是缺乏原生对各种Db对象、视图、UDF、sp .
意思- 当然,你可以使用它们-但是你必须'注入' SQL并与' c# POCO'同步
你现在可以解决大部分问题——例如UDF, SP-s,你可以通过SQL查询调用——并映射回来。
话虽如此,如果你习惯于从Db端工作,那么w/o没有真正的支持,这可能会有点痛苦。也就是说,当你决定数据库的每一个方面时,你必须放弃一点"完全控制",并且可以调整和调整。你可以做大部分,但要保持同步并不容易。
其他"第一"选项-在这个意义上更高级。
在性能方面-代码优先是the most involved
-即它没有预生成(开箱即用),这增加了加载时间。然而,与其他EF选项相比,这是一个越来越少的问题- EF Power Tools可以通过使用sort of views
(无事可做w/Db视图)来代码生成一些代码来提高性能。
快速搜索显示以下答案(来自EF的go-to-guy):
代码优先vs模型/数据库优先
问题问的是EF 4.1,答案应该提供足够的信息,让你做出自己的决定。