Il ne s'agit pas de fermer la connexion. EF gère correctement la connexion. Ma compréhension de ce problème est qu'il existe plusieurs commandes de récupération de données exécutées sur une seule connexion (ou une seule commande avec plusieurs sélections) tandis que le prochain DataReader est exécuté avant que le premier n'ait terminé la lecture. La seule façon d'éviter l'exception est d'autoriser plusieurs DataReaders imbriqués =activer MultipleActiveResultSets. Un autre scénario dans lequel cela se produit toujours est lorsque vous parcourez le résultat de la requête (IQueryable) et que vous déclenchez un chargement paresseux pour l'entité chargée à l'intérieur de l'itération.