Partilhar via


Como: Especificar quando exceções de simultaneidade são lançadas

No LINQ to SQL, uma ChangeConflictException exceção é lançada quando os objetos não são atualizados devido a conflitos de simultaneidade otimistas. Para obter mais informações, consulte Simultaneidade otimista: visão geral.

Antes de enviar suas alterações para o banco de dados, você pode especificar quando as exceções de simultaneidade devem ser lançadas:

  • Jogue a exceção na primeira falha (FailOnFirstConflict).

  • Conclua todas as tentativas de atualização, acumule todas as falhas e relate as falhas acumuladas na exceção (ContinueOnConflict).

Quando lançada, a ChangeConflictException exceção fornece acesso a uma ChangeConflictCollection coleção. Esta coleção fornece detalhes para cada conflito (mapeado para uma única tentativa de atualização com falha), incluindo o MemberConflicts acesso à coleção. Cada conflito de membro é mapeado para um único membro na atualização que falhou na verificação de simultaneidade.

Exemplo

O código a seguir mostra exemplos de ambos os valores.

Northwnd db = new Northwnd("...");

// Create, update, delete code.

db.SubmitChanges(ConflictMode.FailOnFirstConflict);
// or
db.SubmitChanges(ConflictMode.ContinueOnConflict);
Dim db As New Northwnd("...")

' Create, update, delete code.

db.SubmitChanges(ConflictMode.FailOnFirstConflict)
' or
db.SubmitChanges(ConflictMode.ContinueOnConflict)

Consulte também