Ho l'entità User
con un paio di one-to-one
e many-to-many
relazioni e Identity primary key
e generic repository
create su ogni richiesta.Entity framework Rilevate modifiche in conflitto. Ciò può accadere quando si tenta di inserire più entità con la stessa chiave
Ho un modulo di registrazione con convalida client e server e ho deciso di disattivare la convalida del client per verificare come si comporterebbe il server in questo caso.
ho spento convalida del client per testare il modulo di registrazione e mettere alcuni valori non validi in modo da ottenere di nuovo forma dire che ho alcuni errori, dopo mi fisso che ho ottenuto molto interessante errore dicendo:
_context.SaveChanges(); //towing the error below:
Conflicting changes detected. This may happen when trying to insert multiple entities with the same key
E 'stato strano per me, perché ho staccato l'entità User
ma quando ho trovato questo How to clean-up an Entity Framework object context? così invece staccando solo User
entità ho deciso di provare a pulire contesto di oggetto completamente in esecuzione il codice:
var objectStateEntries = this.objectContext
.ObjectStateManager
.GetObjectStateEntries(EntityState.Added);
foreach (var objectStateEntry in objectStateEntries)
{
if(objectStateEntry.Entity != null)
this.objectContext.Detach(objectStateEntry.Entity);
}
Quindi dopo tutto funzionava bene e non ho più avuto l'errore Conflicting changes detected
, ma mi sto ancora chiedendo perché si sia verificata una tale situazione, forse qualcuno potrebbe spiegarlo?
Mostrare come si sta inserendo 'user' – haim770