首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在不同的TFS分支上工作时丢失EF代码第一次迁移?

在不同的TFS分支上工作时丢失EF代码第一次迁移?
EN

Stack Overflow用户
提问于 2012-04-16 09:29:34
回答 3查看 10.5K关注 0票数 35

我们正在使用TFS,并有不同的分支为我们的发展。

  1. 在分支A中,我们进行了迁移以更改分支B中的列大小
  2. ,我们进行了迁移以添加一个新表。这个分支不知道分支A修改!!
  3. 这两个修改被合并到主分支。

当我执行更新数据库时,它执行2迁移,但最后告诉我有挂起的更改。如果我做一个附加迁移,它将创建与第一次迁移(在分支A中)相同的内容。

无法更新数据库以与当前模型匹配,因为有挂起的更改,并且禁用了自动迁移。要么将挂起的模型更改写入基于代码的迁移,要么启用自动迁移。将DbMigrationsConfiguration.AutomaticMigrationsEnabled设置为true以启用自动迁移。您可以使用“添加迁移”命令将挂起的模型更改写入基于代码的迁移。

是因为我上次迁移的property的内容中缺少了什么,因为它不知道第一个迁移吗?

是否可以处理不同TFS分支中的迁移?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-05-01 06:50:40

EF迁移步骤包含一个元数据文件,该元数据文件具有作为迁移步骤的结果的模型的签名。合并时的问题是,在分支B中完成的迁移的签名不包括在分支A中迁移的内容,只要迁移在分支中,这是正确的。当合并成为错误。

要解决这个问题,您必须用以下方法重新生成后一个迁移的元数据

代码语言:javascript
运行
复制
add-migration MyMigrationName

在没有-force参数的现有迁移中运行-force只会重新生成元数据。

我在博客上的EF Migrations and a Merge Conflict文章中写了一篇关于合并场景的深入介绍。

票数 38
EN

Stack Overflow用户

发布于 2017-02-08 14:20:23

作为Anders的答案的一个补充,对于那些在试图重新生成最后的迁移元数据时有问题的人来说,这会导致EF创建一个单独的迁移,并附加一个1。

您必须包括完整的日期/时间戳。

例如。

如果上一次迁移的文件名为201701011322_MakeChangesToPotatoTable

然后,必须将全名正确地包含在“”命令中。

也就是。

代码语言:javascript
运行
复制
Add-Migration 201701011322_MakeChangesToPotatoTable
票数 1
EN

Stack Overflow用户

发布于 2019-12-02 21:08:14

使用EF核,模型的当前状态保持在***ModelSnapshot.cs中。它通常是合并的所以你没有什么可做的..。除非有冲突。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10171658

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档