fre*_*czj 3 postgresql asynchronous entity-framework asp.net-core
我正在 .NETCore 上开发 WebAPI,将数据访问到 POSTGRESQL DB。我对 PostgreSQL 的非 MARS 支持有问题。NPGSQL 无法支持来自同一实例的多个连接(如EntityFramework DbContext 生命周期 + Postgres 中所述:“操作已经在进行中。”)。对于异步管理,这是阻塞的。
不幸的是,我找不到任何解决方案。目前,我注入了我的数据库上下文:
services.AddEntityFrameworkNpgsql().AddDbContextPool<DBApiContext>(opt => opt.UseNpgsql('connectionString');
Run Code Online (Sandbox Code Playgroud)
我使用实体框架。
对于可能感兴趣的人:我的问题全部与服务范围和依赖项注入有关。请求者不是瞬态服务,因此对于每个请求,即使是并行请求,它都会尝试访问数据库。Postgresql不支持MARS,那么第二个请求被拒绝。
您需要有请求访问的瞬态服务,以便每次调用都使用不同的数据库处理程序。