第二次尝试生成脚本sql脚本不起作用

时间:2014-09-27 11:47:34

标签: asp.net-mvc entity-framework ef-code-first

我正在使用代码优先方法在ASP.NET MVC 5和Entity Framework中开发应用程序。

首先,我的数据上下文文件中有一个类,一切正常。 enable-migrationsadd-migrationupdate-database工作正常但第二次,我添加了更多类并尝试执行这些语句:

enable-migrations -ContextTypeName IdentityDb -MigrationsDirectory DAL\IdentityMigrations

enable-migrations -ContextTypeName SMSContext -MigrationsDirectory DAL\SMSMigrations

add-migration -ConfigurationTypeName SMSApp.DAL.IdentityMigrations.Configuration "InitialCreate"

我得到一个例外:

  

以前的迁移名为' InitialCreate'已经应用于目标数据库。如果您打算重新支持初始创建',请通过运行“更新数据库-TargetMigration $ InitialDatabase'”来恢复它,然后删除' 201409261933262_InitialCreate1.cs'并运行“Add-Migration InitialCreate”#39;试。

1 个答案:

答案 0 :(得分:1)

在Solution Explorer中,单击图标显示所有文件。然后转到App_Data,右键单击mdf文件并打开。

在服务器资源管理器中单击连接并右键单击您的连接然后将其关闭,然后再次右键单击然后将其删除,然后从解决方案资源管理器中删除mdf文件(这会将其移动到垃圾箱,它不会丢失但如果你决定把它拿回来)。然后在power shell包控制台update-database中。

注意:这将完全重建从Configuration/Migrations.cs Seed方法插入记录的数据库,您将丢失其他数据。另请在代码中找到AutomaticMigrations并将其设置为true