过去几周我一直在做一个副项目,并首先使用 EntityFramework Code 构建系统。这在开发过程中非常方便,因为我需要对代码进行的任何更改都很好且轻松地反射(reflect)在 DB 中。但是现在我想启动该站点,但要继续开发,我不想每次对模型进行调整时都必须删除并重新创建数据库...

有没有办法让 EF 为模型更改生成更改脚本,以便我可以自己将它们部署到生产服务器?以及如何在其他地方使用数据库(站点后台的 Windows 服务)而不必删除和重新创建表,并使用与我已经使用的模型相同的模型?有点像“代码优先,但现在我有一个生产数据库,不要破坏它......”

最佳答案

我个人使用 VS2010 中的内置数据工具来进行数据库模式同步以更新生产。

如果您没有 VS Premium,另一个更便宜的工具是 SQLDelta,我过去使用过它并且非常好。

这两个工具都连接到两个数据库版本,并允许您首先同步表模式。两者都具有导出到 SQL 脚本的功能。

为 EF 准备的是迁移,它允许您在解决方案中解决这个问题,但它仍处于测试阶段。迁移让您可以在代码中描述数据库的升级和降级事件。

关于entity-framework - 从 Entity Framework Code First 从开发迁移到生产,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8755633/

10-13 09:31