我们正在使用TFS,并有不同的分支为我们的发展。
当我执行更新数据库时,它执行2迁移,但最后告诉我有挂起的更改。如果我做一个附加迁移,它将创建与第一次迁移(在分支A中)相同的内容。
无法更新数据库以与当前模型匹配,因为有挂起的更改,并且禁用了自动迁移。要么将挂起的模型更改写入基于代码的迁移,要么启用自动迁移。将DbMigrationsConfiguration.AutomaticMigrationsEnabled设置为true以启用自动迁移。您可以使用“添加迁移”命令将挂起的模型更改写入基于代码的迁移。
是因为我上次迁移的property的内容中缺少了什么,因为它不知道第一个迁移吗?
是否可以处理不同TFS分支中的迁移?
发布于 2012-05-01 06:50:40
EF迁移步骤包含一个元数据文件,该元数据文件具有作为迁移步骤的结果的模型的签名。合并时的问题是,在分支B中完成的迁移的签名不包括在分支A中迁移的内容,只要迁移在分支中,这是正确的。当合并成为错误。
要解决这个问题,您必须用以下方法重新生成后一个迁移的元数据
add-migration MyMigrationName在没有-force参数的现有迁移中运行-force只会重新生成元数据。
我在博客上的EF Migrations and a Merge Conflict文章中写了一篇关于合并场景的深入介绍。
发布于 2017-02-08 14:20:23
作为Anders的答案的一个补充,对于那些在试图重新生成最后的迁移元数据时有问题的人来说,这会导致EF创建一个单独的迁移,并附加一个1。
您必须包括完整的日期/时间戳。
例如。
如果上一次迁移的文件名为201701011322_MakeChangesToPotatoTable
然后,必须将全名正确地包含在“”命令中。
也就是。
Add-Migration 201701011322_MakeChangesToPotatoTable发布于 2019-12-02 21:08:14
使用EF核,模型的当前状态保持在***ModelSnapshot.cs中。它通常是合并的所以你没有什么可做的..。除非有冲突。
https://stackoverflow.com/questions/10171658
复制相似问题