Cómo: Especificar cuándo se producen excepciones de simultaneidad (LINQ to SQL)
Actualización: November 2007
En LINQ to SQL, se inicia una excepción ChangeConflictException cuando los objetos no se actualizan debido a conflictos de simultaneidad optimista. Para obtener más información, vea Información general sobre la simultaneidad optimista (LINQ to SQL).
Antes de enviar cambios a la base de datos, puede especificar cuándo se deberían iniciar excepciones de simultaneidad:
Iniciar la excepción en el primer error (FailOnFirstConflict).
Finalizar todos los intentos de actualización, acumular todos los errores e informar de todos ellos en la excepción (ContinueOnConflict).
Cuando se inicia, la excepción ChangeConflictException proporciona acceso a una colección ChangeConflictCollection. Esta colección proporciona detalles sobre cada conflicto (asignado a un único intento de actualización con error), incluido el acceso a la colección MemberConflicts. Cada conflicto de miembro se asigna a un único miembro en la actualización que no pasó la comprobación de simultaneidad.
Ejemplo
El código siguiente muestra ejemplos de ambos valores.
Dim db As New Northwnd("...")
' Create, update, delete code.
db.SubmitChanges(ConflictMode.FailOnFirstConflict)
' or
db.SubmitChanges(ConflictMode.ContinueOnConflict)
Northwnd db = new Northwnd("...");
// Create, update, delete code.
db.SubmitChanges(ConflictMode.FailOnFirstConflict);
// or
db.SubmitChanges(ConflictMode.ContinueOnConflict);