При создании отчета я должен выполнить 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);
}