Jak uniknąć System.Data.Entity.Infrastructure.DbUpdateException

Mam ten obiekt DbContext, który składa się z -

- Employee
- CompanyAddress  (PK: AddressFirstLine, City)
Note: one Employee can have many CompanyAddress

Rekordy są dodawane do tabeli CompanyAddresstylko, jeżeli jakiś adres nie istnieje w tabeli CompanyAddress.
Jeśli mam dwa obiekty DBContext z bazy danych, powiedz Snapshot1, Snapshot2. Powiedz, kiedy oba te zrzuty zostały zrobione, w tabeli CompanyAddress nie było żadnych rekordów. Po wprowadzeniu zmian w Snapshot1 i zapisaniu - rekordy są zapisywane w tabeli CompanyAddress.
Kiedy dokonano zmian w Snapshot2 i zapisano za pomocą

mydataContext.SaveChanges();

wyjątek występuje:

System.Data.Entity.Infrastructure.DbUpdateException: An error occurred while updating the entries
System.Data.SqlClient.SqlException: Violation of PRIMARY KEY constraint 'PK_CompanyAddress'. Cannot insert duplicate key in object 'dbo.CompanyAddress'

Wydaje się, że zapisywanie Snapshot1 spowodowało, że Snapshot2 był brudny, ponieważ gdy zostały zapisane z powrotem w bazie danych, oba miałypodobnie Rekordy adresu firmy.

Jakie inne wywołania / ustawienia mogę wykonać w obiekcie dbContext, aby uniknąć tego błędu?

Dziękuję Ci!

questionAnswers(1)

yourAnswerToTheQuestion