使用Entity Framework迁移删除或重新创建数据库(代码优先)

时间:2014-01-31 23:19:53

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

使用实体框架迁移时,重新创建删除数据库的命令是什么, Initializers

我应该在package manager console上写什么?

COMMENT

我正在寻找一些命令,它提供与Database.SetInitializer<>(new DropCreateDatabaseIfModelChanges<>());相同的功能,但使用迁移方法。

3 个答案:

答案 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