我在我的应用中成功使用了EF 5 Code First。我有大约40张桌子。但是,我遇到了一个问题,我似乎可以让Migrations正确处理。所以,我想要做的是以某种方式告诉EF将数据库的当前模式视为一个新的起点,并从这一点开始管理它。这样,我可以手动进行必要的模式更改,然后告诉EF基本上从这一点开始。
有没有办法可以做到这一点?我认为我将不得不删除__MigrationHistory表,或删除其内容。但我不确定如何最好地继续这样做。
答案 0 :(得分:8)
您应该能够执行以下操作:
手动更改数据库以反映模型中不会由迁移处理的更改。现在一切都应该工作,但数据库和迁移系统不同步。
运行Add-Migration ManuallyUpdatedDatabase -IgnoreChanges
。这会创建一个完全为空的迁移,因此它不会对数据库进行任何更改,但它将确保系统知道已进行的手动更改。这样,手动更改将不会包含在您创建的下一次迁移中。
运行Update-Database
以应用空迁移。
从这里开始,一切都应该像往常一样。你只有一个缺失的链接"在您的迁移中,因为您已手动处理了一些更改。