【发布时间】:2014-07-22 13:45:44
【问题描述】:
我有两个环境(A 和 B)共享同一个后备数据库,这个数据库使用 ASP.Net Identity 2.0 框架,因此在下面使用 EF。这两个环境可能随时运行不同版本的代码——B 版本通常运行较旧的代码(即我会先部署到 A 并测试任何更改,然后再部署到 B)。
当我向模型添加新属性并利用 EF 迁移时,新列将添加到基础数据库中。此代码将首先部署到 A,并将修改 B 正在使用的同一数据库。 B 然后抛出关于在数据库表中找到未知属性(列)的异常。
有什么办法可以解决这个问题吗?基本上我希望不知道新列的代码“忽略”它 - 或将其设置为默认值。
【问题讨论】:
-
所以你的环境都指向同一个数据库?
-
是的,我们基本上使用 A 作为 B 的暂存环境。
-
你知道这有多危险吗?
-
是的——这只是我们现有的并且必须使用的系统。
-
你真的应该在你的 SQL Server 中为你的 B 环境启动一个新数据库。这应该不会超过几分钟。
标签: c# asp.net entity-framework entity-framework-migrations