Sdílet prostřednictvím


Postupy: Určení, kdy se mají objevit výjimky souběžnosti

V LINQ to SQL je vyvolán výjimka, ChangeConflictException když objekty neaktualizují kvůli optimistickým konfliktům souběžnosti. Další informace najdete v tématu Optimistická souběžnost: Přehled.

Před odesláním změn do databáze můžete určit, kdy se mají vyvolat výjimky souběžnosti:

  • Vyvolá výjimku při prvním selhání (FailOnFirstConflict).

  • Dokončete všechny pokusy o aktualizaci, kumulujte všechna selhání a nahlaste kumulované chyby v výjimce (ContinueOnConflict).

Při vyvolání ChangeConflictException výjimka poskytuje přístup ke kolekci ChangeConflictCollection . Tato kolekce obsahuje podrobnosti o jednotlivých konfliktech (namapovaných na jednu neúspěšnou aktualizaci), včetně přístupu k kolekci MemberConflicts . Každý konflikt členů se mapuje na jednoho člena v aktualizaci, která selhala při kontrole souběžnosti.

Příklad

Následující kód ukazuje příklady obou hodnot.

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)

Viz také