Entity Framework 5 Code First - 如何“重新开始”?

6

我一直在使用EF 5 Code First,在我的应用中成功地运行。 我大约有40个表。 然而,我遇到了一个问题,即我似乎无法使迁移正确处理。 所以,我想做的是以某种方式告诉EF将数据库的当前模式视为新的起点,并从这一点开始管理它。 这样,我就可以手动进行必要的模式更改,然后告诉EF从这一点开始重新开始。

我能否这样做? 我推测我需要删除__MigrationHistory表,或者删除其内容。 但我不确定如何最好地继续执行此操作。

1个回答

8
您应该能够执行以下操作:
  • 手动更改数据库以反映模型中未被迁移处理的更改。现在一切都应该正常工作,但数据库和迁移系统不同步。

  • 运行 Add-Migration ManuallyUpdatedDatabase -IgnoreChanges。这将创建一个完全空白的迁移,因此它不会对数据库进行任何更改,但它将确保系统知道已进行的手动更改。这样,手动更改就不会包含在您创建的下一个迁移中。

  • 运行 Update-Database 以应用空的迁移。

从这里开始,一切都应该像往常一样工作。您只是在迁移中有一个“丢失的链接”,因为您已经手动处理了一些更改。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接