Compartilhar via


Como: especificar quando exceções de simultaneidade são geradas

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

Antes de enviar as alterações para base de dados, você pode especificar quando exceções concorrentes devem ser lançadas:

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

  • Concluir todas as tentativas de atualização, se acumule quaisquer falhas, e relatar falhas criadas na exceção (ContinueOnConflict).

Quando lançada, a exceção de ChangeConflictException fornece acesso a uma coleção de ChangeConflictCollection . Essa coleção fornece detalhes para cada conflito (mapeado para uma tentativa única falha de atualização), incluindo o acesso à coleção de MemberConflicts . Mapas de cada conflito de membro a um único membro na atualização que falhou a 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)

Confira também