Det handlar inte om att stänga förbindelsen. EF hanterar anslutningen korrekt. Min uppfattning om detta problem är att det finns flera kommandon för datahämtning som körs på en enda anslutning (eller ett enda kommando med flera val) medan nästa DataReader exekveras innan den första har slutfört läsningen. Det enda sättet att undvika undantaget är att tillåta flera kapslade DataReaders =aktivera MultipleActiveResultSets. Ett annat scenario när detta alltid händer är när du itererar genom resultatet av frågan (IQueryable) och du kommer att utlösa lazy loading för laddad enhet inuti iterationen.