.NET 6 中的数据库自动迁移

Database AutoMigration in .NET 6

我正在重写一个使用 Asp.NET 5 的简单应用程序。但现在我正在为我的应用程序的新版本使用 Asp.NET 6。快速提问:.NET6 中数据库自动迁移(如下面的 .NET5 中)的替代方法是什么,或者在 .NET6 中启动应用程序后我应该使用什么方法进行自动迁移?

.NET5 中的示例:

public void Configure(IApplicationBuilder app, IWebHostEnvironment env, PgSqlDbContext context)
    {
        context.Database.Migrate();
        /*
         other middlewares
        */
    }

.NET6:

var app = builder.Build();
// ???? for auto migration
// other middlewares

这是我从 Microsoft's Docs on 5 to 6 migration 到您的用例的翻译:

var app = builder.Build();
var context = app.Services.GetRequiredService<PgSqlDbContext>();
context.Database.Migrate();

我没有测试这个,所以祈祷吧!

我已经尝试添加这段代码,项目成功运行。

var app = builder.Build();

using (var serviceScope = app.Services.CreateScope())
{
   var services = serviceScope.ServiceProvider;
    
   var dbcontext = services.GetRequiredService<PgSqlDbContext>();
   var conn = dbcontext.Database.GetConnectionString();
}
//other middlewares