Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 当ASP.NET核心应用程序在IIS集成上运行时,Program.Main会发生什么情况?_C#_Asp.net Core_Entity Framework Core - Fatal编程技术网

C# 当ASP.NET核心应用程序在IIS集成上运行时,Program.Main会发生什么情况?

C# 当ASP.NET核心应用程序在IIS集成上运行时,Program.Main会发生什么情况?,c#,asp.net-core,entity-framework-core,C#,Asp.net Core,Entity Framework Core,我正在开发一个ASP.NET核心应用程序,它将使用IIS集成托管在IIS后面。在过去,我已经开发了一些ASP.NET核心应用程序,但它们都托管在Windows服务中,IIS通过URL重写充当反向代理。现在,我必须使用AspNetCoreModule 我想知道Program.Main会发生什么。具体地说,在构建web主机之前,我调用EntityFrameworkCore在那里重新创建的。然而,即使我的应用程序正确启动,甚至响应请求,数据库也没有填充必要的表 如何解决这个问题?因为还有更多的问题,我

我正在开发一个ASP.NET核心应用程序,它将使用IIS集成托管在IIS后面。在过去,我已经开发了一些ASP.NET核心应用程序,但它们都托管在Windows服务中,IIS通过URL重写充当反向代理。现在,我必须使用AspNetCoreModule

我想知道Program.Main会发生什么。具体地说,在构建web主机之前,我调用EntityFrameworkCore在那里重新创建的。然而,即使我的应用程序正确启动,甚至响应请求,数据库也没有填充必要的表


如何解决这个问题?

因为还有更多的问题,我决定添加我用于它的其余代码

var scopeFactory = app.ApplicationServices.GetRequiredService<IServiceScopeFactory>();
        using (var scope = scopeFactory.CreateScope())
        {
            var db = scope.ServiceProvider.GetRequiredService<DbContext>();
            db.Database.Migrate();
        }

我会从一家主要的公司转到一家初创公司,甚至更深一层。在遇到类似的问题后,我将其移动到startup类的configure方法,这样我知道它将始终启动。我使用了db.Database.Migrate;为了确保我的所有迁移都能在下面的答案中得到进一步执行,谢谢-这很有效!只是一个问题:我的模型更改没有应用到数据库架构。db.Database.Migrate不应该这样做吗?是的,应该这样做。您有多少次迁移?可能其中一些迁移有错误,或者正在更改数据库字段,您需要将自动迁移的设置更改为true,以便绕过截断检查。我会从cli手动调用所有迁移,看看它们是否会通过。如果它们都通过了,那么记录数据库服务器端的每一步,看看它在哪里打破了我的错误:我没有创建任何迁移,但不知何故,我希望模型被传输到我的数据库,就像我删除了数据库然后重新创建一样。非常感谢。