EF Core 2.1代码首先,如何在运行时实现自动迁移。。

时间:2019-01-08 07:27:20

标签: asp.net-core-2.1 ef-core-2.1

我想在程序运行时自动迁移更改,因此,这样编写的代码。 但是除了第一次,无论如何修改模型,迁移都没有效果。

            using (var serviceScope = app.ApplicationServices.GetRequiredService<IServiceScopeFactory>()
                .CreateScope())
            {
                var database = serviceScope.ServiceProvider.GetService<StuDb>().Database;
                database.Migrate();
            }

因此,我做了很多其他尝试,例如更改为

    database.EnsureDeleted();
    database.EnsureCreated();

删除database.Migrate();在上面加上两个句子,这使得每次都可以应用最新的模型,但是还存在一个问题,就是每次都会清空数据。这是发展的大问题。我希望保留数据以方便后续跟踪,例如功能测试。

是否可以在保留数据的同时将数据库模型迁移到最新的实体模型?

请帮助我。谢谢!任何帮助将不胜感激。

0 个答案:

没有答案