使用实体框架 6.1.3。和代码优先。
我目前在自己的分支机构工作,但使用开发数据库。另一位开发人员一直在主分支工作,并在我分支后将一些迁移应用到开发数据库。我通过添加额外的字段对分支中的一些模型进行了一些更改;我修改的这些模型的表已存在于数据库中(除了 1 个新模型)。
我的分支中的当前快照不是当前的实际数据库架构。通常我会先Add-Migration Merge -IgnoreChanges更新最新情况,然后进行更改。(正确的?)
问题是我所做的更改仍然需要应用于数据库,并且执行上述命令会忽略这些更改。当我构建新迁移时生成的代码试图撤消(删除/更改)在主分支上应用的所有迁移,并且它当前还可以看到我已更改的所有模型(以及一些其他模型) )作为新表,并尝试创建新表而不是添加新列。
解决这个问题的最佳方法是什么?是否可以从一开始就避免这种情况?
我想我可以将主分支合并到我的分支中以进行迁移,但不确定这是否可以解决我的问题。
生成的任何迁移在应用于我们的生产数据库时也需要起作用。
希望我已经解释得足够好了。我对 EF 还很陌生,因此我们将不胜感激。