如何在生产中启用自动迁移

时间:2016-11-24 13:49:16

标签: c# entity-framework-6

我了解使用this link启用自动迁移的基础知识。

有人能说出在生产中启用自动迁移的最佳方法是什么,没有任何麻烦,以及如何在运行时提供连接字符串的情况下进行自动迁移?

2 个答案:

答案 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)
    {
       ///
    }
}
}