【发布时间】:2013-02-18 17:53:59
【问题描述】:
我阅读了this post 关于 EF 代码首次迁移的信息,但它使用了“包管理器控制台”,这对共享主机无效。我想知道您如何在生产环境中部署 EF 代码优先数据库更改。手动更改数据库好不好?
【问题讨论】:
标签: c# asp.net entity-framework ef-code-first migration
我阅读了this post 关于 EF 代码首次迁移的信息,但它使用了“包管理器控制台”,这对共享主机无效。我想知道您如何在生产环境中部署 EF 代码优先数据库更改。手动更改数据库好不好?
【问题讨论】:
标签: c# asp.net entity-framework ef-code-first migration
您不需要使用包管理器控制台来进行迁移。有一个名为 MigrateDatabaseToLatestVersion 的数据库初始化程序可以为您解决问题(可以阅读 here)。它会让您创建一个配置文件,其中包含您希望数据库在任何迁移时执行的任何特定设置或种子。
设置完成后,您需要在代码中执行以下操作:
Database.SetInitializer(new MigrateDatabaseToLatestVersion<MyDbContext,Configuration>());
var db = new MyDbContext();
db.Database.Initialize(true);
这将根据您的代码优先设置自动为您执行迁移。
【讨论】: