【发布时间】:2013-08-06 06:54:00
【问题描述】:
使用 Entity Framework 5,我们在我们的应用程序中使用代码优先迁移。每个开发人员都有自己工作的数据库。
我不小心清空了我的:里面什么都没有了,没有表,甚至没有迁移历史表。
所以,我尝试通过执行update-database 再次通过PM 控制台更新数据库。它立即给了我一个表不存在的错误,而它应该在我的初始代码迁移中创建。
有趣的是,PM 控制台还显示正在应用的迁移,其中不包含初始创建代码迁移,因此根本不会创建任何表,当然在以后的迁移中失败。
我尝试执行update-database -targetmigration:initialcreate,它告诉我该代码迁移不存在,而它是从 cs 文件直接复制/粘贴,因此 id 必须正确(注意:这适用于其他迁移) .
我还尝试了update-database -targetmigration:0 和update-database -targetmigration: $InitialDatabase,它们都给了我'Target database is already at version 0'。
我也尝试过完全删除数据库并让 EF 为其创建它,但也没有用,它一直在跳过 initialcreate 迁移。
那么如何让代码迁移来执行我的 initalCreate 代码迁移?
【问题讨论】:
标签: asp.net-mvc entity-framework entity-framework-migrations