EF Code First迁移

时间:2016-02-15 11:44:28

标签: c# entity-framework ef-code-first code-first ef-migrations

我对迁移有一些问题我无法理解。 例如,我从其中一个表中删除列(我的意思是从类中删除字段,当然,不是手动从数据库中删除列),创建新的迁移和更新数据库。它工作得很好。 但是当我运行应用程序时,它表示不能删除应用迁移后已经删除的列。 然后我删除了_MigrationHistory Table并重新启用了迁移。一切正常,但我没有删除其中一个dbcontext实体而没有应用新的迁移。 Update-database没有错误。但是当我运行应用程序时,我得到了dbo的错误。无法删除,因为它不存在。当然没有! 在我执行update-database和运行我的应用程序时,似乎我的迁移应用了两次。可能吗? AutomaticMigrationsEnabled设置为false。但是我们之前在项目中打开了自动迁移。也许这就是原因? Pleace帮我解决了这个问题。

1 个答案:

答案 0 :(得分:0)

检查数据库中的迁移历史记录表。我正在使用EF7,这件事发生在我身上。这似乎与迁移第二次运行完全相同,因此列出的第一个表创建了一个错误。 当我手动添加迁移条目(migrationID和productversion)时,似乎很清楚。