在创建报告时,我必须执行3个涉及相同上下文的分离实体的查询.因为它们非常沉重,所以我决定使用它.ToListAsync();来让它们并行运行,但令我惊讶的是,我得到了一个例外...
使用EF 6并行执行查询的正确方法是什么?我应该手动启动新任务吗?
编辑1
代码基本上是
using(var MyCtx = new MyCtx())
{
var r1 = MyCtx.E1.Where(bla bla bla).ToListAsync();
var r2 = MyCtx.E2.Where(ble ble ble).ToListAsync();
var r3 = MyCtx.E3.Where(ble ble ble).ToListAsync();
Task.WhenAll(r1,r2,r3);
DoSomething(r1.Result, r2.Result, r3.Result);
}
Run Code Online (Sandbox Code Playgroud)