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

9 .net asp.net entity-framework ef-migrations

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

我该package manager console怎么写呢?

意见:

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

Ant*_*Chu 8

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

PM> enable-migrations -EnableAutomaticMigrations
Run Code Online (Sandbox Code Playgroud)

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

public Configuration()
{
    AutomaticMigrationsEnabled = true;
    AutomaticMigrationDataLossAllowed = true;
}
Run Code Online (Sandbox Code Playgroud)

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

PM> update-database
Run Code Online (Sandbox Code Playgroud)

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

  • 我没有明白这一点.有一个简单的方法吗?单个命令,`database.Delete()`调用等? (7认同)