我一直在使用EF 5 Code First,在我的应用中成功地运行。 我大约有40个表。 然而,我遇到了一个问题,即我似乎无法使迁移正确处理。 所以,我想做的是以某种方式告诉EF将数据库的当前模式视为新的起点,并从这一点开始管理它。 这样,我就可以手动进行必要的模式更改,然后告诉EF从这一点开始重新开始。
我能否这样做? 我推测我需要删除__MigrationHistory表,或者删除其内容。 但我不确定如何最好地继续执行此操作。
我一直在使用EF 5 Code First,在我的应用中成功地运行。 我大约有40个表。 然而,我遇到了一个问题,即我似乎无法使迁移正确处理。 所以,我想做的是以某种方式告诉EF将数据库的当前模式视为新的起点,并从这一点开始管理它。 这样,我就可以手动进行必要的模式更改,然后告诉EF从这一点开始重新开始。
我能否这样做? 我推测我需要删除__MigrationHistory表,或者删除其内容。 但我不确定如何最好地继续执行此操作。
手动更改数据库以反映模型中未被迁移处理的更改。现在一切都应该正常工作,但数据库和迁移系统不同步。
运行 Add-Migration ManuallyUpdatedDatabase -IgnoreChanges
。这将创建一个完全空白的迁移,因此它不会对数据库进行任何更改,但它将确保系统知道已进行的手动更改。这样,手动更改就不会包含在您创建的下一个迁移中。
运行 Update-Database
以应用空的迁移。