2013-04-09 203 views
1

我使用EF 5开发Windows窗体应用程序,并使用Code First方法开始构建数据库。 我的问题是:“代码优先方法比数据库优先还是模型优先?”? 有什么建议吗?EF:代码第一约束

回答

1

就具体(我将跳过一般ovewview),

什么困扰我最大 - 是 各种Db的对象,视图,UDF,SP-S缺乏本地支持。
意义 - 肯定的是,你可以使用它们 - 但你必须“注入” SQL和以“C#POCO”

现在,您可以变通这个最同步的 - 例如, UDF,SP-s,你可以通过SQL查询调用 - 并映射回来。

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

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

在性能方面 - 代码优先是the most involved - 即它没有任何预先生成(开箱)并且增加了加载时间。但是,与其他EF选项相比,这个问题越来越少 - EF Power Tools可以通过使用sort of views(无视W/Db视图)代码生成其中的一部分来提高性能。总体而言,我也使用了很多 - 因为它是最“灵活”和IMO值得额外的努力。