.net core 如果以这种方式使用adddbcontext,dbcontext是否会处理并关闭? Startup.cs DALUser.cs private readonly TestContext\u db; 公共用户(TestContext数据库) { _db=db; } 公共IQueryable Get() { _db.Users.AsQueryable(); }

.net core 如果以这种方式使用adddbcontext,dbcontext是否会处理并关闭? Startup.cs DALUser.cs private readonly TestContext\u db; 公共用户(TestContext数据库) { _db=db; } 公共IQueryable Get() { _db.Users.AsQueryable(); },.net-core,entity-framework-core,.net Core,Entity Framework Core,dbcontext是否会在执行Get()函数后释放并关闭?DatabaseContext的默认生存期已确定。因此,在web应用程序中,DatabaseContext在http请求完成(TestController Get)后被释放 公共静态IServiceCollection AddDbContext( [NotNull]此IServiceCollection服务集合, [CanBeNull]操作选项操作=null, ServiceLifetime contextLifetime=Service

dbcontext是否会在执行Get()函数后释放并关闭?

DatabaseContext的默认生存期已确定。因此,在web应用程序中,DatabaseContext在http请求完成(TestController Get)后被释放

公共静态IServiceCollection AddDbContext(
[NotNull]此IServiceCollection服务集合,
[CanBeNull]操作选项操作=null,
ServiceLifetime contextLifetime=ServiceLifetime.Scoped,
ServiceLifetime选项Lifetime=ServiceLifetime.Scoped)
其中TContext:DbContext
public void ConfigureServices(IServiceCollection services)
{
       services.AddDbContext<TestContext>(options => options.UseSqlServer("dbconnection"));
}
private readonly TestContext _db;
public TestController(TestContext db)
{
     _db = db;
}
public void Get()
{
    DALUser dal = new DALUser(_db);
    var list = dal.Get();
}
private readonly TestContext _db;
public DALUser(TestContext db)
{
     _db = db;
}
public IQueryable<User> Get()
{
    _db.Users.AsQueryable();
}
        public static IServiceCollection AddDbContext<TContext>(
        [NotNull] this IServiceCollection serviceCollection,
        [CanBeNull] Action<DbContextOptionsBuilder> optionsAction = null,
        ServiceLifetime contextLifetime = ServiceLifetime.Scoped,
        ServiceLifetime optionsLifetime = ServiceLifetime.Scoped)
        where TContext : DbContext