Dalam pengeditan Anda, Anda menyebutkan 'Beberapa entitas yang ditambahkan mungkin memiliki kunci utama yang sama.' kesalahan. Tanpa mengetahui semua detail tentang apa yang Anda lakukan di sini, sepertinya Anda membuat hubungan dengan entitas - yang ada dua dalam konteks dengan ID yang sama. Ini mungkin entitas baru yang belum disimpan di mana mereka mendapatkan ID yang dibuat secara otomatis dari database. Jika hubungan didasarkan pada ID, maka ada beberapa ambiguitas karena Kerangka Kerja Entitas tidak dapat menentukan entitas baru mana yang sebenarnya ditunjuk oleh hubungan - keduanya memiliki ID yang ditunjuk oleh hubungan tersebut.
Ada dua kemungkinan perbaikan.
-
Hasilkan pengidentifikasi unik sementara untuk entitas saat mereka dibuat dalam konteksnya. Entity Framework akan membuang ini saat entitas disimpan tetapi hingga saat itu, ia dapat menggunakannya untuk membedakan satu entitas baru dari yang lain. Saya telah menggunakan bilangan bulat negatif untuk tujuan ini di masa lalu.
-
Jangan membuat hubungan menggunakan ID melainkan pada referensi entitas. Jika Entity Framework memiliki referensi langsung ke entitas, maka Entity Framework tidak perlu melalui proses mengidentifikasi entitas berdasarkan pengenal non-unik dan seharusnya tidak memiliki masalah ini.