Comment éviter de Système.Les données.De l'entité.L'Infrastructure.DbUpdateException

J'ai cette DbContext objet qui se compose de

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

Enregistrements sont ajoutés à CompanyAddress table seulement si une adresse n'existe pas dans CompanyAddress table.

Si j'ai deux DBContext objets de la base de données de dire Snapshot1, Snapshot2.
Dire lorsque les deux ces captures d'écran ont été prises, il n'y avait pas de dossier dans CompanyAddress table.
Lorsque des modifications ont été apportées à Snapshot1 et sauvé - enregistrements sont écrits à CompanyAddress table.

Lorsque des modifications ont été apportées à Snapshot2 et enregistré à l'aide de

mydataContext.SaveChanges();

exception se produit:

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'

Il semble économie de Snapshot1 fait Snapshot2 sale parce que quand ils sont sauvegardés dans la base de données, tous deux avaient même CompanyAddress dossiers.

Ce que d'autres appellent/paramètres je peux faire sur dbContext objet pour éviter cette erreur?

Merci!

OriginalL'auteur user1552869 | 2013-12-24