Как избежать System.Data.Entity.Infrastructure.DbUpdateException

У меня есть этот объект DbContext, который состоит из -

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

Записи добавляются в таблицу CompanyAddress.только если некоторый адрес не существует в таблице CompanyAddress.
Если у меня есть два объекта DBContext из базы данных, скажем, Snapshot1, Snapshot2. Скажем, когда были сделаны оба этих снимка, в таблице CompanyAddress не было записей. Когда изменения были сделаны в Snapshot1 и сохранены - записи записываются в таблицу CompanyAddress.
Когда изменения были сделаны в Snapshot2 и сохранены с использованием

mydataContext.SaveChanges();

исключение происходит:

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'

Кажется, что сохранение Snapshot1 сделало Snapshot2 грязным, потому что когда они были сохранены обратно в базу данных, оба имелитакой же CompanyAddress records.

Какие еще вызовы / настройки я могу сделать для объекта dbContext, чтобы избежать этой ошибки?

Спасибо!

Ответы на вопрос(1)

Ваш ответ на вопрос