使用实体框架迁移时,重新创建或删除数据库的命令是什么,不 Initializers
?
我应该在package manager console
上写什么?
COMMENT :
我正在寻找一些命令,它提供与Database.SetInitializer<>(new DropCreateDatabaseIfModelChanges<>());
相同的功能,但使用迁移方法。
答案 0 :(得分:8)
您可以使用自动迁移获得与迁移相同的行为。
PM> enable-migrations -EnableAutomaticMigrations
在构造函数的Configuration.cs中,确保将自动迁移和允许数据丢失设置为true ...
public Configuration()
{
AutomaticMigrationsEnabled = true;
AutomaticMigrationDataLossAllowed = true;
}
现在,只要模型发生变化,只需执行update-database ...
PM> update-database
将更改架构以匹配模型,并且表中的任何现有数据将保留在那里(除非它位于重命名或删除的列中)。 Seed方法在数据库更新后运行,因此您可以进一步控制对数据的任何更改。
答案 1 :(得分:1)
我进入了服务器资源管理器并手动删除了所有表格。然后转到project \ Migrations文件夹并删除所有迁移脚本。
然后一个普通的Update-Database -Force做了我需要的。
答案 2 :(得分:0)
在VS2015中,我执行了以下操作来解决它:在解决方案资源管理器菜单中 - &gt;全部显示 - &gt; App_Data文件夹显示LocalDb mdf文件 - &gt;右键单击该文件并单击删除 - &gt ;在Package Manage Condsole中,运行:Update-Database -Force