我了解使用this link启用自动迁移的基础知识。
有人能说出在生产中启用自动迁移的最佳方法是什么,没有任何麻烦,以及如何在运行时提供连接字符串的情况下进行自动迁移?
答案 0 :(得分:0)
EF DB版本检查将在运行时执行。如果您已在项目中启用了迁移(例如在您提供的链接中,使用MigrateDatabaseToLatestVersion),则将在首次上下文初始化时应用迁移。
答案 1 :(得分:0)
我已经为我的生产平台做了这个,请注意,只有在以调试模式以外的其他方式完成构建时才会执行该命令。
#if !DEBUG
Database.SetInitializer(new MigrateDatabaseToLatestVersion<VerbekeContext, Default.Migrations.Configuration>());
#endif
这是在启动函数中的MVC项目的global.asax中添加的,所以如果你有任何其他应用程序你应该执行这个@ startup
或者您可以在迁移文件夹的configuration.cs中将AutomaticMigrationsEnabled设置为true。如果添加调试开关,请在调试时将其设置为false,在其他构建模式中将其设置为true。
namespace Default.Migrations
{
using System.Data.Entity.Migrations;
public sealed class Configuration : DbMigrationsConfiguration<Context>
{
public Configuration()
{
AutomaticMigrationsEnabled = false;
}
protected override void Seed(Context context)
{
///
}
}
}