回答

1

您只需运行Enable-Migrations一次即可生成Configuration.cs类和Initial迁移。之后,无论何时更改模型,您都必须通过运行Add-Migration来生成新迁移,并且还必须运行Update-Database以将迁移应用到数据库,但不需要再次运行Enable-Migrations

如果你想自动执行过程中,你可以通过在Configuration类的构造函数设置AutomaticMigrationsEnabled = true启用自动生成迁移,并在DbContext使用MigrateDatabaseToLatestVersion数据库初始化。这将允许您只更改您的型号代码,而不必对包管理器控制台执行任何操作,不需要使用Add-MigrationUpdate-Database。在创建项目之后,您仍然需要运行Enable-Migrations一次,以便在生成Initial迁移时开始。

无论如何,自动迁移可能会导致一些问题,我不会推荐你使用它们。所以,当你的模型改变时,我会继续执行手册Add-Migration命令。如果使用MigrateDatabaseToLatestVersion数据库初始值设定项,则仍然可以跳过Update-Database

另一种方式将它用DbMigrator从您的代码运行相当于Update-Database(但你并不需要这样做,如果您使用的是MigrateDatabaseToLatestVersion数据库初始化)做:

var migrator = new DbMigrator(new DbMigrationsConfiguration()); 
migrator.Update(); 
相关问题