Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Menyelesaikan Pengecualian 'Objek Entiti yang Dirujuk oleh Berbilang Kejadian IEntityChangeTracker' dalam Rangka Kerja Entiti 4.1?

Bagaimana untuk Menyelesaikan Pengecualian 'Objek Entiti yang Dirujuk oleh Berbilang Kejadian IEntityChangeTracker' dalam Rangka Kerja Entiti 4.1?

Linda Hamilton
Lepaskan: 2025-01-08 21:26:47
asal
513 orang telah melayarinya

How to Resolve the

Selesaikan masalah "objek entiti dirujuk oleh berbilang kejadian IEntityChangeTracker" dalam Rangka Kerja Entiti 4.1

Apabila menyimpan entiti yang mengandungi rujukan entiti menggunakan Rangka Kerja Entiti 4.1, anda mungkin menghadapi pengecualian "objek entiti Rangka Kerja Entiti ADO.Net tidak boleh dirujuk oleh berbilang kejadian IEntityChangeTracker." Pengecualian ini biasanya berlaku apabila berbilang konteks Rangka Kerja Entiti mengurus entiti yang sama.

Sebagai contoh, dalam coretan kod, kedua-dua kelas perkhidmatan EmployeeService dan CityService masing-masing mencipta kejadian konteks mereka sendiri. Apabila entiti city1 diambil daripada CityService, ia dilampirkan pada konteks CityService. Kemudian, apabila e1 entiti pekerja dibuat dan rujukannya diberikan kepada city1, kedua-dua entiti itu ditambahkan pada konteks EmployeeService.

Akibatnya, city1 dilampirkan pada dua konteks berbeza, menyebabkan pengecualian.

Penyelesaian:

Kaedah 1: Gunakan satu konteks

Buat satu contoh konteks dan masukkannya ke dalam dua kelas perkhidmatan EmployeeService dan CityService:

<code class="language-csharp">var context = new YourDbContext(); // 创建单例上下文
EmployeeService es = new EmployeeService(context);
CityService cs = new CityService(context); // 使用相同的上下文实例</code>
Salin selepas log masuk

Kaedah 2: Gabungkan Perkhidmatan

Satukan entiti berkaitan menjadi satu perkhidmatan, yang bertanggungjawab untuk semua interaksi entiti. Pendekatan ini memudahkan manipulasi hubungan antara entiti.

Dengan kaedah di atas, anda boleh mengelakkan pengecualian "Objek entiti tidak boleh dirujuk oleh berbilang kejadian IEntityChangeTracker" dan berjaya menyimpan entiti yang mengandungi rujukan entiti.

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Pengecualian 'Objek Entiti yang Dirujuk oleh Berbilang Kejadian IEntityChangeTracker' dalam Rangka Kerja Entiti 4.1?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan