Вторая операция началась в этом контексте до завершения предыдущей операции.с Linq Any () - PullRequest
0 голосов
/ 26 октября 2018

Я пытаюсь ускорить мой код, поэтому я хочу посмотреть, насколько быстрее мой код сможет работать, если я выполню асинхронную работу.

Проблема в том, что в моем параллельном цикле я должен сделать несколько проверок, и сейчас я выполнял ленивую загрузку, которая, по-моему, вызвала ошибку

A second operation started on this context before a previous operation completed. 

Сейчас у меня есть такая схемаthis

TableATableB - many to many column
TableA - Can have many TableBs 
TableB - Can have many TableAs
TableC - TableB can have many TableCs and TableC can only have 1 tableB

Теперь проблема в том, что мой код умирает, когда я делаю

foundTableBColumn.TableCs.Any()

Я пытался выполнить горячую загрузку, но у меня та же проблема

var foundTableBs = dbContext.TableATableB Include(x => x.TableB).ThenInclude(x => x.TableC).Where(x => x.TableAId == 1).Select(x => x.TableA).ToList();


Parallel.ForEach(foundTableBs , (tableB, loopState) =>
                {
                      if(tableB.TableCs.Any(){
}
                });
...