我正在使用代码优先方法在ASP.NET MVC 5和Entity Framework中开发应用程序。
首先,我的数据上下文文件中有一个类,一切正常。 enable-migrations
,add-migration
和update-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;试。
答案 0 :(得分:1)
在Solution Explorer中,单击图标显示所有文件。然后转到App_Data
,右键单击mdf文件并打开。
在服务器资源管理器中单击连接并右键单击您的连接然后将其关闭,然后再次右键单击然后将其删除,然后从解决方案资源管理器中删除mdf文件(这会将其移动到垃圾箱,它不会丢失但如果你决定把它拿回来)。然后在power shell包控制台update-database
中。
注意:这将完全重建从Configuration/Migrations.cs
Seed
方法插入记录的数据库,您将丢失其他数据。另请在代码中找到AutomaticMigrations
并将其设置为true
。