繁体   English   中英

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

[英]Drop or Recreate database with Entity Framework Migrations (Code-First)

使用Entity Framework迁移时,哪个是重新创建删除数据库的命令, 而不是 Initializers

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

意见

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

您可以使用自动迁移在迁移中获得相同的行为。

PM> enable-migrations -EnableAutomaticMigrations

在构造函数的Configuration.cs中,确保自动迁移和允许数据丢失设置为true ...

public Configuration()
{
    AutomaticMigrationsEnabled = true;
    AutomaticMigrationDataLossAllowed = true;
}

现在,只要模型发生变化,只需执行update-database ...

PM> update-database

将更改架构以匹配模型,并且表中的任何现有数据将保留在那里(除非它位于重命名或删除的列中)。 在更新数据库之后运行Seed方法,以便您可以进一步控制对数据的任何更改。

我进入服务器资源管理器并手动删除所有表。 然后转到project \\ Migrations文件夹并删除所有迁移脚本。

然后一个普通的Update-Database -Force做了我需要的。

在VS2015中,我执行了以下操作来解决它:在解决方案资源管理器菜单 - >全部显示 - > App_Data文件夹显示LocalDb mdf文件 - >右键单击该文件并单击删除 - >在包管理控制台中,运行:Update-Database -Force

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM