Я пытаюсь ускорить мой код, поэтому я хочу посмотреть, насколько быстрее мой код сможет работать, если я выполню асинхронную работу.
Проблема в том, что в моем параллельном цикле я должен сделать несколько проверок, и сейчас я выполнял ленивую загрузку, которая, по-моему, вызвала ошибку
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(){
}
});