Ralat Teras Rangka Kerja Entiti: "Operasi kedua bermula pada konteks ini sebelum operasi sebelumnya selesai"
Apabila bekerja dengan Teras Rangka Kerja Entiti dalam aplikasi ASP.Net Core 2.0, anda mungkin menghadapi "InvalidOperationException" yang menyatakan bahawa operasi kedua bermula pada konteks sebelum operasi sebelumnya selesai.
Punca dan Penyelesaian:
Punca asas ralat ini ialah pelaksanaan konteks Entiti Rangka Kerja Teras tidak selamat untuk rangkaian. Untuk menyelesaikan masalah ini, pastikan anda mendaftarkan DbContext anda sebagai Transient dalam konfigurasi suntikan kebergantungan anda:
services.AddDbContext<MyContext>(ServiceLifetime.Transient);
Sebagai alternatif, anda boleh mendaftarkan konteks terus sebagai Transient:
services.AddTransient<MyContext>();
Elakkan mendaftarkan konteks sebagai Skop:
services.AddDbContext<MyContext>();
Pertimbangan Tambahan:
Memahami Ketergantungan Sementara:
Menambah konteks sebagai sementara bermakna setiap kali konteks diminta, tika baharu dicipta. Ini menghalang isu keselamatan rangkaian tetapi juga mengehadkan keupayaan untuk membuat perubahan pada entiti merentas berbilang kelas.
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat 'Operasi kedua dimulakan pada Teras Rangka Kerja Entiti pada konteks ini sebelum operasi sebelumnya selesai'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!