Tengo entidad User
con un par de relaciones one-to-one
y many-to-many
y , y generic repository
que se creó en cada solicitud.Marco de entidad Se detectaron cambios conflictivos. Esto puede suceder cuando se intentan insertar entidades múltiples con la misma clave
Tengo un formulario de registro con la validación del cliente y del servidor y decidí desactivar la validación del cliente para probar cómo se comportaría el servidor en ese caso.
Apagué la validación del cliente para probar el formulario de inscripción y poner algunos valores no válidos, así que regrese formulario diciendo que tengo algunos errores, después de i fijo que ha obtenido un error muy interesante diciendo:
_context.SaveChanges(); //towing the error below:
Conflicting changes detected. This may happen when trying to insert multiple entities with the same key
era extraño para mí porque me separé la entidad User
pero cuando me encontré con este How to clean-up an Entity Framework object context? así que en vez separar única entidad User
i decidió tratar de limpiar contexto de objetos de ejecución por completo ese código:
var objectStateEntries = this.objectContext
.ObjectStateManager
.GetObjectStateEntries(EntityState.Added);
foreach (var objectStateEntry in objectStateEntries)
{
if(objectStateEntry.Entity != null)
this.objectContext.Detach(objectStateEntry.Entity);
}
Así que después de que todo funcionaba bien y ya no recibí el error Conflicting changes detected
, pero aún me pregunto por qué se estaba produciendo tal situación, ¿alguien podría explicarlo?
Mostrar cómo se está insertando 'User' – haim770