5

我需要决定在大型企业应用程序中使用实体框架。我需要先决定 EF 数据/代码。

我的主要想法是不要将数据访问与数据库混合。我不想要任何工具来生成/更新数据库。我可以先设计数据库架构,并且可以使用 EF Data first 模型。这种方法的问题是

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

我可以使用代码优先的方法来解决上述问题。但是代码拳头的问题是与数据库和 EF 的紧密集成。每当我更改模型时,我都需要创建迁移以更新对数据库的更改。我不太担心“迁移”会对我的数据库造成的变化。此外,如果我们必须将这些更改应用于生产数据库,那根本不可能,因为我们的开发团队将无法访问生产服务器。

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

你们可以建议首先使用 EF 代码而没有上述问题吗?

4

1 回答 1

7

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

企业级应用程序通常具有

  • API 项目
  • 多网络应用程序/界面
  • 与其他数据源同步
  • 针对大型数据集的特定优化。
  • DBA 参与其中
  • 大型数据库开始分片
  • 多大陆部署
  • SQL 级别安全要求和日志记录
  • 和更多 ...

Data First 允许您将所有这些都考虑在内,而无需将数据库绑定到项目中。

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

于 2014-06-12T03:48:16.530 回答