Cómo evitar System.Data.Entity.Infrastructure.DbUpdateException

Tengo este objeto DbContext que consiste en -

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

Los registros se agregan a la tabla CompanyAddresssólo si alguna dirección no existe en la tabla CompanyAddress.
Si tengo dos objetos DBContext de la base de datos, por ejemplo, Snapshot1, Snapshot2. Por ejemplo, cuando se tomaron estas dos instantáneas, no había registros en la tabla CompanyAddress. Cuando se realizaron cambios en Snapshot1 y se guardaron, los registros se escriben en la tabla CompanyAddress.
Cuando se hicieron cambios a Snapshot2 y se guardaron usando

mydataContext.SaveChanges();

se produce una excepción:

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'

Parece que guardar Snapshot1 hizo que Snapshot2 se ensuciara porque cuando se guardaron en la base de datos, ambos teníanmismo CompanyDdress registros.

¿Qué otras llamadas / configuraciones puedo hacer en el objeto dbContext para evitar este error?

¡Gracias!

Respuestas a la pregunta(1)

Su respuesta a la pregunta