【发布时间】:2014-07-21 17:25:38
【问题描述】:
如果我有一个需要更改架构的 EF6 Code First 环境,是否可以对其进行配置,以便在部署代码之前应用迁移(通过更新数据库脚本)?
我刚刚使用控制台应用程序运行了一个简单的测试,该应用程序使用迁移“初始”构建了一个数据库,此时获取了应用程序的副本。然后我通过向我的实体添加一个新属性来修改架构并添加一个“V2”迁移并运行更新数据库。当尝试针对这个迁移的数据库运行“旧”代码时,我得到一个 InvalidOperationException “支持上下文的模型自数据库创建以来已更改。”
在持续交付类型的操作中,您可能希望一台服务器运行新应用程序代码,而其他服务器运行旧版本,是否可以先使用 EF 代码?
【问题讨论】:
-
可以修改旧代码吗?如果是 disabling schema checking 在旧代码中是一个选项。您确定添加的列可以为空还是作为默认值?
-
这看起来很理想。这适用于正在进行的部署,以便我们可以在部署代码之前运行脚本化迁移,这样我们就可以确实禁用初始化程序。非常感谢。
标签: entity-framework ef-code-first entity-framework-migrations