.net core 如果以这种方式使用adddbcontext,dbcontext是否会处理并关闭? Startup.cs DALUser.cs private readonly TestContext\u db; 公共用户(TestContext数据库) { _db=db; } 公共IQueryable Get() { _db.Users.AsQueryable(); }
dbcontext是否会在执行Get()函数后释放并关闭?DatabaseContext的默认生存期已确定。因此,在web应用程序中,DatabaseContext在http请求完成(TestController Get)后被释放.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
公共静态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