我可以使用“旧”代码访问迁移的EF数据库吗?

时间:2014-07-21 17:25:38

标签: entity-framework ef-code-first ef-migrations

如果我有一个需要更改架构的EF6 Code First环境,是否可以在部署代码之前以可以应用迁移(通过Update-Database -Script)的方式对其进行配置?

我刚刚使用控制台应用程序运行了一个简单的测试,该应用程序构建了一个带有迁移的数据库" Initial",此时获取应用程序的副本。然后我通过向我的实体添加一个新属性来修改模式,并添加了一个" V2"迁移并运行Update-Database。当试图运行" old"对于这个迁移的数据库的代码,我得到一个InvalidOperationException"支持上下文的模型自创建数据库以来已经改变。"

在Continuous Delivery类型操作中,您可能希望一台服务器运行新的应用程序代码,而其他服务器可能先使用EF代码运行旧版本吗?

1 个答案:

答案 0 :(得分:1)

你可以修改旧代码吗?

如果旧代码中的是disabling schema checking是一个选项。

btw:您确定添加的列可以为空还是默认值?

为避免出现意外,您还可以使用对模式具有只读权限的连接字符串,以避免数据损坏。