【发布时间】:2023-03-19 17:39:02
【问题描述】:
我正在尝试使用 2 个(或更多)异步子查询执行查询。遗憾的是这是不可能的,因为DbContext 当时只能处理 1 个请求。
项目正在使用:
- 实体框架 3
- Graphql 3.0.0
错误
在前一个操作完成之前,在此上下文中启动了第二个操作。这通常是由使用相同 DbContext 实例的不同线程引起的。
类型:
Field<ListGraphType<A>>()
.Name("A")
.Description("query of A")
.ResolveAsync(async context =>
await repro.GetAllAAsync(context)
);
Field<ListGraphType<A>>()
.Name("B")
.Description("query of B")
.ResolveAsync(async context =>
await repro.GetAllBAsync(context)
);
查询:
query {
A {
id
}
B {
id
}
}
DbContextPool 没有解决问题,我不想使用 StructureMap。
有没有优雅的使用方式
- 每个子查询有多个 dbContext
- 等到 dbContext 空闲
【问题讨论】:
标签: c# entity-framework async-await graphql .net-core-3.0