实体框架代码在Enterprise中的适用范围

时间:2013-03-17 12:46:40

标签: entity-framework entity-framework-5

我需要决定大型企业应用程序的Entity框架的用法。 我需要先决定EF数据/代码优先。

我的主要想法是不要将数据访问与数据库混合使用。我不希望任何工具生成/更新数据库。我可以先设计数据库模式,然后可以使用EF Data第一模型。这种方法的问题是

对EF和EF生成的代码的控制较少 巨大的配置

我可以使用代码第一种方法来解决上述问题。但代码拳的问题是与数据库和EF紧密集成。每当我更改模型时,我都需要创建迁移以更新对数据库的更改。我很担心“迁移”会对我的数据库所做的更改。此外,如果我们不得不将这些更改应用于生产数据库,那么我们开发团队将无法访问生产服务器。

我只是在想天气,首先选择EF代码作为企业应用程序的数据访问技术是一个不错的选择。

在没有上述问题的情况下,你们可以先建议使用EF代码吗?

1 个答案:

答案 0 :(得分:5)

对于大型企业级应用程序,我强烈建议不要使用Code First。

企业级应用程序通常具有

  • API项目
  • 多网络应用程序/界面
  • 与其他数据源同步
  • 使用大型数据集进行特定优化。
  • 参与DBA
  • 大型数据库开始获取Sharded
  • 多大陆部署
  • SQL级别安全要求和日志记录
  • 以及......

Data First允许您将所有这些考虑在内,而不是由项目绑定数据库。

当您拥有平板电脑应用程序或桌面应用程序等单一用途应用程序,甚至仅仅用于快速开发时,Code First非常棒。当多个项目需要访问同一个数据库时,我会说Code First不再适用。