Procédure : spécifier le moment où des exceptions d'accès concurrentiel sont levées (LINQ to SQL)
Mise à jour : November 2007
Dans LINQ to SQL, une exception ChangeConflictException est levée lorsque des objets ne sont pas mis à jour en raison de conflits d'accès concurrentiel optimiste. Pour plus d'informations, consultez Vue d'ensemble de l'accès concurrentiel optimiste (LINQ to SQL).
Avant de soumettre vos modifications à la base de données, vous pouvez spécifier quand des exceptions d'accès concurrentiel doivent être levées :
Lever l'exception au premier échec (FailOnFirstConflict).
Terminer toutes les tentatives de mise à jour, cumuler les échecs et signaler les échecs cumulés dans l'exception (ContinueOnConflict).
Lorsqu'elle est levée, l'exception ChangeConflictException donne accès à une collection ChangeConflictCollection. Cette collection fournit des détails pour chaque conflit (mappé à une seule tentative de mise à jour non réussie), y compris l'accès à la collection MemberConflicts. Chaque conflit entre membres mappe à un seul membre dans la mise à jour au cours de laquelle le contrôle d'accès concurrentiel a échoué.
Exemple
Le code suivant présente des exemples des deux valeurs.
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);
Voir aussi
Autres ressources
Procédure : gérer les conflits de changement (LINQ to SQL)
Apport et soumission de modifications de données (LINQ to SQL)