rle*_*ler 2 c# entity-framework
我在 EF6 代码优先迁移时遇到问题。
当我处于较低的子分支时,我正在对新事物进行开发更改,我在该分支中进行了迁移,并且我的数据库也进行了这些更改。
当我切换到主分支(我不想合并)并尝试在本地运行它时,我的迁移存在于我的数据库中,但不存在于该代码分支中。
我正在尝试修复错误以从主分支进入生产环境,并且不想运行任何新的迁移,但它告诉我:
自数据库创建以来,支持“DummyDBContext”上下文的模型已发生更改。
我该如何解决这个问题?
你这里确实有两个问题。
InvalidOperationException抛出的原因。最简单的方法是在切换回 master 之前回滚“subBranch”迁移(通过调用Update-Database -TargetMigration [NameOfPreviousMigration])。缺点是每次切换回子分支时都必须重新运行迁移。
否则,解决这个问题的方法将需要:
DbInitializer(DropCreate这将删除数据库中的所有数据,因此请注意这一点)或手动撤消迁移对架构所做的任何更改,回滚对数据库架构所做的任何更改。如果您确实选择了这条路线,那么当您以任何一种方式切换回 subBranch 时,您都需要从头开始重新运行迁移。祝你好运 ;)