Condividi tramite


Procedura: specificare quando vengono generate le eccezioni di concorrenza (LINQ to SQL)

In LINQ to SQL un'eccezione ChangeConflictException viene generata quando gli oggetti non vengono aggiornati a causa di conflitti di concorrenza ottimistici. Per ulteriori informazioni, vedere Cenni preliminari sulla concorrenza ottimistica (LINQ to SQL).

Prima di inviare le modifiche al database, è possibile specificare quando dovranno essere generate le eccezioni di concorrenza:

  • Generare l'eccezione al primo errore (FailOnFirstConflict).

  • Completare tutti i tentativi di aggiornamento, accumulare tutti gli errori e segnalare gli errori accumulati nell'eccezione (ContinueOnConflict).

Quando viene generata, l'eccezione ChangeConflictException fornisce l'accesso a una raccolta ChangeConflictCollection. In questa raccolta vengono forniti i dettagli per ogni conflitto (associato a un unico tentativo di aggiornamento non riuscito), nonché l'accesso alla raccolta MemberConflicts. Per ogni conflitto fra membri viene eseguito il mapping a un unico membro nell'aggiornamento che non ha superato il controllo della concorrenza.

Esempio

Nel codice riportato di seguito vengono illustrati esempi di entrambi i valori.

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);

Vedere anche

Altre risorse

Procedura: gestire i conflitti di modifiche (LINQ to SQL)

Scrittura e invio di modifiche di dati (LINQ to SQL)