我想在程序运行时自动迁移更改,因此,这样编写的代码。 但是除了第一次,无论如何修改模型,迁移都没有效果。
using (var serviceScope = app.ApplicationServices.GetRequiredService<IServiceScopeFactory>()
.CreateScope())
{
var database = serviceScope.ServiceProvider.GetService<StuDb>().Database;
database.Migrate();
}
因此,我做了很多其他尝试,例如更改为
database.EnsureDeleted();
database.EnsureCreated();
删除database.Migrate();在上面加上两个句子,这使得每次都可以应用最新的模型,但是还存在一个问题,就是每次都会清空数据。这是发展的大问题。我希望保留数据以方便后续跟踪,例如功能测试。
是否可以在保留数据的同时将数据库模型迁移到最新的实体模型?
请帮助我。谢谢!任何帮助将不胜感激。