Dependency injection ASP.net Core EF DataContext的范围是否未按照文档确定?

Dependency injection ASP.net Core EF DataContext的范围是否未按照文档确定?,dependency-injection,asp.net-core,entity-framework-core,Dependency Injection,Asp.net Core,Entity Framework Core,在Startup.cs文件中,我设置了一个数据上下文以参与DI public void ConfigureServices(IServiceCollection services) { services.AddDbContext<MyDbContext>(options => { options.UseSqlServer("Connection String"); }); } public void配置服务(

在Startup.cs文件中,我设置了一个数据上下文以参与DI

 public void ConfigureServices(IServiceCollection services)
 {
      services.AddDbContext<MyDbContext>(options =>
      {
           options.UseSqlServer("Connection String");
      });  
 }
public void配置服务(IServiceCollection服务)
{
services.AddDbContext(选项=>
{
options.UseSqlServer(“连接字符串”);
});  
}
根据,上述代码自动将数据上下文作为作用域放入IoC容器中。我的印象是,每个请求都会创建一个MyDbContext实例。随后的请求将在其整个生命周期中拥有一个新的MyDbContext实例

我设置了一个控制器,并通过构造函数DI传递MyDbContext。我做了一个简单的GET请求,得到了我想要的数据。我在SQLManagementStudio中对该实体进行了更改,比如更改一个属性/列的值。我也提出同样的请求。我没有得到在SQL Management Studio中设置的新值

这使我认为ASP.net内核在应用程序的整个生命周期中都会保留同一个MyDbContext实例。如果我停止并重新启动应用程序,GET请求将返回我期望的值

如果我使用DI进行设置,如何为每个请求刷新此数据上下文


我错过什么了吗?如果需要,我可能会发布更多代码。

发布Startup.cs类,至少是涉及EF/DbContext的部分。您是否在启动期间对数据进行种子设定?如果是,如何解析DbContext?要进行种子设定,请检查此处的SO文档,如果您在startup中解析种子,则必须创建一个作用域。cs上面发布的内容是startup.cs中唯一涉及EF/DbContext的部分。不,我没有种子。您如何在控制器中调用dbcontext?公共类MyController{private MyDbContext db{get;set;}公共MyController(MyDbContext context){db=context;}…}。我只是在构造函数中创建了一个MyDbContext类型的参数,系统允许我访问数据上下文;请阅读以下内容:发布Startup.cs类,至少是涉及EF/DbContext的位。您是否在启动期间对数据进行种子设定?如果是,如何解析DbContext?要进行种子设定,请检查此处的SO文档,如果您在startup中解析种子,则必须创建一个作用域。cs上面发布的内容是startup.cs中唯一涉及EF/DbContext的部分。不,我没有种子。您如何在控制器中调用dbcontext?公共类MyController{private MyDbContext db{get;set;}公共MyController(MyDbContext context){db=context;}…}。我只是在构造函数中创建了一个MyDbContext类型的参数,系统允许我访问数据上下文;请阅读: