Нашел этот ответ: Entity Framework: уже существует открытый DataReader, связанный с этой командой
В котором говорится, что он, вероятно, сработал из-за вложенных запросов или ленивой загрузки. Похоже, что единственный способ исправить это - не использовать ленивую загрузку или включить MARS (несколько активных наборов результатов).
В вашем случае это, вероятно, не фактическое второе соединение, а другой набор результатов, поступающий из такое же соединение. Мне также интересно, могло ли это быть из-за ToListAsync()
.
На самом деле, теперь, когда я снова смотрю на это, это может быть что-то с вызовом gr.OrderByDescending()
в середине запроса? Это может быть попытка перечислить набор результатов в середине внешнего набора результатов. Может быть, попробуйте переписать запрос (даже неправильно), чтобы избежать чего-то подобного, и посмотрите, исчезнет ли проблема.