如何在Azure上使用EF更新/迁移SQLite数据库

时间:2018-03-14 06:32:51

标签: sqlite asp.net-core entity-framework-core

我在我的应用程序中使用SQLite数据库。在桌面上,我可以在需要时轻松运行Add-MigrationUpdate-Database

现在我在网站上线时进一步开发数据库和功能我需要在服务器上运行Update-Database,但我不知道该怎么做。

我是否可以在启动时运行一段代码来更新数据库?

由于我的订阅,我没有Azure存储或访问命令行,因此没有选项。

1 个答案:

答案 0 :(得分:3)

您可以在DbContext.Database.Migrate()课程的Configure方法中致电Startup。如果存在挂起的迁移,这将在应用程序启动时自动迁移SQLite数据库。

public void ConfigureServices(IServiceCollection serviceCollection)
{
    ...
    services.AddDbContext<MyDbContext>(options =>
            options.UseSqlite(...));
}

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    using(var context = new MyDbContext(...))
    {
        context.Database.Migrate();
    }
    ...
}