Не става въпрос за затваряне на връзката. EF управлява връзката правилно. Моето разбиране за този проблем е, че има множество команди за извличане на данни, изпълнявани при една връзка (или една команда с множество селекции), докато следващият DataReader се изпълнява, преди първият да е завършил четенето. Единственият начин да избегнете изключението е да разрешите множество вложени DataReaders =включване на MultipleActiveResultSets. Друг сценарий, при който това винаги се случва, е когато итерирате резултата от заявката (IQueryable) и ще задействате отложено зареждане за зареден обект вътре в итерацията.