Entity framework 4 您什么时候会首先使用实体框架代码

Entity framework 4 您什么时候会首先使用实体框架代码,entity-framework-4,entity-framework-4.1,Entity Framework 4,Entity Framework 4.1,我已经看到了一些来自“值得尊敬的”个人的演示,展示了实体框架的代码优先特性的优点。所有这些看起来都像令人垂涎三尺的玩具!!但有一件事打动了我 除了在开发中,什么时候代码优先场景会对我的项目有好处 在项目的开发和测试(可移植性!!!!)阶段,让框架为我构建数据库似乎很棒,但当我更新实时项目时,我不希望出现任何这种情况 知道框架何时将覆盖我的数据库并插入我的静态数据似乎是一个合理的想法(对于测试场景),但我所做的所有演示似乎都将构建此框架的代码放在了EF程序集中 EF迁移将明确这一点???大概有人对

我已经看到了一些来自“值得尊敬的”个人的演示,展示了实体框架的代码优先特性的优点。所有这些看起来都像令人垂涎三尺的玩具!!但有一件事打动了我

除了在开发中,什么时候代码优先场景会对我的项目有好处

在项目的开发和测试(可移植性!!!!)阶段,让框架为我构建数据库似乎很棒,但当我更新实时项目时,我不希望出现任何这种情况

知道框架何时将覆盖我的数据库并插入我的静态数据似乎是一个合理的想法(对于测试场景),但我所做的所有演示似乎都将构建此框架的代码放在了EF程序集中


EF迁移将明确这一点???大概有人对我为什么要先使用这段代码有什么看法吗?

在我看来,自动数据库生成只用于开发和测试。将应用程序移动到生产环境后,应确保此功能已关闭。一旦决定部署应用程序的新版本,这一点尤为重要

我怀疑EF迁移可能会改变它。我决不会让一些自动黑匣子碰我的生产数据。我们在VS数据库工具方面已经有过非常糟糕的经验,所以我们从不让他们直接处理真实数据——我们只让他们为我们生成脚本,我们精确地测试这些脚本,并在生产环境中手动执行这些脚本。有时甚至需要添加一些带有临时表的额外迁移脚本。这正是我认为EF也应该使用的方法。让代码首先在您的开发环境中构建一个新数据库,使用工具为您创建与旧数据库不同的脚本,测试并部署它

但最重要的是:生产数据库的任何升级或更改都应该从备份开始,所以,若工具出现故障,您可以随时返回

选择代码优先/数据库优先/模型优先是基于您的方式和其他需求。

测试版的东西看起来很有前途。它允许您进行自动或自定义更改,并为实际生产部署生成更改脚本(棒极了!)。