Ini bukan tentang menutup koneksi. EF mengelola koneksi dengan benar. Pemahaman saya tentang masalah ini adalah bahwa ada beberapa perintah pengambilan data yang dieksekusi pada koneksi tunggal (atau perintah tunggal dengan banyak pilihan) sementara DataReader berikutnya dieksekusi sebelum yang pertama menyelesaikan pembacaan. Satu-satunya cara untuk menghindari pengecualian adalah dengan mengizinkan beberapa DataReaders bersarang =aktifkan MultipleActiveResultSets. Skenario lain ketika ini selalu terjadi adalah ketika Anda mengulangi hasil kueri (IQueryable) dan Anda akan memicu pemuatan lambat untuk entitas yang dimuat di dalam iterasi.