Winforms EF:代码优先约束

Winforms EF:代码优先约束,winforms,entity-framework,ef-code-first,ef-database-first,Winforms,Entity Framework,Ef Code First,Ef Database First,我正在使用EF5开发Windows窗体应用程序,并开始使用代码优先的方法构建数据库。 我的问题是:“与数据库优先或模型优先相比,代码优先方法是否有一些约束?”? 有什么建议吗?快速搜索发现以下答案(来自与EF有关的go to guy): 当问题询问EF 4.1时,答案应提供足够的信息,以便您做出自己的决定。快速搜索显示以下答案(来自与EF相关的go-to guy): 当问题询问EF 4.1时,答案应提供足够的信息,让您自己做出决定。只是具体地说(我将跳过一般视图) 最让我困扰的是缺乏对本地人

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

快速搜索发现以下答案(来自与EF有关的go to guy):


当问题询问EF 4.1时,答案应提供足够的信息,以便您做出自己的决定。

快速搜索显示以下答案(来自与EF相关的go-to guy):

当问题询问EF 4.1时,答案应提供足够的信息,让您自己做出决定。

只是具体地说(我将跳过一般视图)

最让我困扰的是缺乏对本地人的支持 各种数据库对象、视图、自定义项、sp-s。
意思是-当然,您可以使用它们-但是您必须“注入”SQL并与“C#POCO”同步

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

话虽如此——没有真正的支持,如果你习惯于从数据库方面工作——那可能会有点痛苦。也就是说,当您决定数据库的每一个方面时,您必须放弃一点“完全控制”,并且可以进行调整和调整。你可以做到大部分,但保持同步并不容易

从这个意义上讲,其他“第一”选项更先进

在性能方面-代码优先是涉及最多的——即它没有预先生成(开箱即用)的内容,这增加了加载时间。然而,与其他EF选项相比,这是一个越来越少的问题-EF电动工具可以通过使用
排序视图
(不做任何事情w/Db视图)对其中一些视图进行编码来提高性能

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

具体来说(我将跳过一般视图)

最让我困扰的是缺乏对本地人的支持 各种数据库对象、视图、自定义项、sp-s。
意思是-当然,您可以使用它们-但是您必须“注入”SQL并与“C#POCO”同步

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

话虽如此——没有真正的支持,如果你习惯于从数据库方面工作——那可能会有点痛苦。也就是说,当您决定数据库的每一个方面时,您必须放弃一点“完全控制”,并且可以进行调整和调整。你可以做到大部分,但保持同步并不容易

从这个意义上讲,其他“第一”选项更先进

在性能方面-代码优先是涉及最多的——即它没有预先生成(开箱即用)的内容,这增加了加载时间。然而,与其他EF选项相比,这是一个越来越少的问题-EF电动工具可以通过使用
排序视图
(不做任何事情w/Db视图)对其中一些视图进行编码来提高性能

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