我正在开发一个ASP.NET Core应用程序,该应用程序将使用IISIntegration托管在IIS后面。过去,我已经开发了一些ASP.NET Core应用程序,但是所有这些应用程序都托管在Windows服务中,IIS通过URL重写充当反向代理。现在,我不得不使用AspNetCoreModule。
我想知道Program.Main()
会发生什么。具体来说,在构建Web主机之前,我在此处调用EntityFrameworkCore的EnsureCreated()
。但是,即使我的应用程序正确启动,甚至响应请求,数据库也没有填充必要的表。
我该如何解决这个问题?
答案 0 :(得分:1)
由于还有更多内容,我决定添加其余的代码
var scopeFactory = app.ApplicationServices.GetRequiredService<IServiceScopeFactory>();
using (var scope = scopeFactory.CreateScope())
{
var db = scope.ServiceProvider.GetRequiredService<DbContext>();
db.Database.Migrate();
}