
Mencegah Konflik Rujukan Entiti dalam Rangka Kerja Entiti 4.1
Rangka Kerja Entiti mungkin membuang "Objek entiti tidak boleh dirujuk oleh beberapa contoh pengecualian IEntityChangeTracker". Ini berlaku apabila konteks berbeza cuba mengurus entiti yang sama secara serentak. Ini biasanya berlaku apabila menyimpan entiti dengan objek berkaitan yang dimuatkan daripada konteks berasingan.
Masalahnya:
Bayangkan perkhidmatan yang berasingan, seperti EmployeeService dan CityService, masing-masing mencipta konteks Rangka Kerja Entiti sendiri. Jika CityService memuatkan bandar dan EmployeeService kemudian menambahkan bandar yang sama itu kepada pekerja, konflik timbul kerana bandar itu dijejaki oleh dua konteks berbeza.
Penyelesaian:
Kuncinya ialah menggunakan konteks tunggal yang dikongsi. Suntikan konteks ini ke dalam kedua-dua perkhidmatan:
<code class="language-csharp">var context = new YourDbContext(); // Create the context once EmployeeService es = new EmployeeService(context); CityService cs = new CityService(context); // Both services use the same context</code>
Penyelesaian yang lebih elegan mungkin adalah untuk menyatukan entiti berkaitan ke dalam satu perkhidmatan. Contohnya, bukannya EmployeeService dan CityService, buat EmployeeCityService. Ini memudahkan pengurusan konteks dan mengelakkan konflik.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menghalang 'Objek entiti tidak boleh dirujuk oleh berbilang contoh IEntityChangeTracker' Pengecualian dalam Rangka Kerja Entiti 4.1?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!
Bagaimana untuk menetapkan ketelusan warna fon html
Apakah sistem pengendalian awan?
Bagaimana untuk membaca fail teks dalam html
Bagaimana untuk menggunakan perpustakaan python
Pemasang tidak boleh mencipta penyelesaian partition sistem baharu
Apakah yang perlu saya lakukan jika pemacu C saya bertukar merah?
Apakah sebab mengapa rangkaian tidak dapat disambungkan?
pycharm membuka kaedah fail baharu