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

Bra*_*ild 5 entity-framework entity-framework-5

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

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

减少对EF和Huge配置生成的代码的控制

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

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

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

Ada*_*ley 6

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

企业级应用程序通常具有

  • API项目
  • 多Web应用程序/接口
  • 与其他数据源同步
  • 具有大型数据集的特定优化.
  • DBA参与其中
  • 大型数据库开始获得Sharded
  • 多大陆部署
  • SQL级别安全性要求和日志记录
  • 和更多 ...

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

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