我阅读了有关EF代码首次迁移的this post,但它使用的“程序包管理器控制台”对共享托管无效。我想知道如何在生产中首先部署EF代码数据库更改。手动进行数据库更改是否合适?
答案 0 :(得分:0)
您无需使用程序包管理器控制台进行迁移。有一个数据库初始化程序可以为你做一个名为MigrateDatabaseToLatestVersion的技巧(可以阅读here)。它将让您创建一个配置文件,其中包含您希望数据库在任何迁移时执行的任何特定设置或种子设定。
设置好后,您需要在代码中执行以下操作:
Database.SetInitializer(new MigrateDatabaseToLatestVersion<MyDbContext,Configuration>());
var db = new MyDbContext();
db.Database.Initialize(true);
这将根据您的代码优先设置自动为您进行迁移。