【发布时间】:2015-03-08 14:22:06
【问题描述】:
我使用 Code First 迁移,自动模式。我为需要直接 SQL 代码的迁移创建了 Migrations 文件夹,但 AutomaticMigrationsEnabled = true;
public Configuration()
{
AutomaticMigrationsEnabled = true;
AutomaticMigrationDataLossAllowed = true;
}
很多时候,我删除数据库来重新创建它。在调试器中看到自动更新 SQL 代码,我意识到迁移系统有我的更改历史记录,事件我删除了源中的任何线索。
例如,我将 MyTable1 表名更改为 MyTable2。然后我完全删除数据库。当我执行“Update-Database -Script”时,我可以看到 Migrations 仍然创建“MyTable1”,然后它重命名为“MyTable2”。
我完全糊涂了。我的代码中不存在“MyTable1”。它不在 Migrations 文件夹中,因为我使用自动迁移。它不在我的数据库的历史表中,因为我删除了它。我删除了 bin 和 obj 文件夹。那么,我的更改历史存储在哪里?
【问题讨论】:
-
手动添加迁移信息,清除Up和down方法并运行更新数据库
标签: c# entity-framework ef-code-first entity-framework-migrations