为什么Code-First Migration无法正常工作?

时间:2016-07-19 13:17:14

标签: asp.net-mvc entity-framework ef-migrations

我使用代码优先迁移但运行应用程序时出错。 错误:找不到对象“dbo.Products”,因为它不存在或您没有权限。 我已经在sql server上手动删除了Products表。我希望重新运行项目所有表都重新创建,如果在sql server中不存在。

另外,我为配置迁移编写了2行。

AutomaticMigrationsEnabled = true;
AutomaticMigrationDataLossAllowed = true;

任何帮助?

1 个答案:

答案 0 :(得分:1)

如果您正在使用迁移,则不应该手动"更改数据库。所以现在EF正在生成代码来为你删除表格,但它并不存在。解决方案是注释掉Up()方法中删除表和update-database的代码。见https://msdn.microsoft.com/en-US/data/dn481501

如果要重新创建数据库,则需要切换到初始化程序,例如DropCreateDatabaseIfModelChanges。请参阅http://www.entityframeworktutorial.net/code-first/database-initialization-strategy-in-code-first.aspx