Table of Contents

Transaktionen

Eine Transaktion wird mit StartTransaction<T>() gestartet und fasst Änderungen an einem DataSet-Typ zusammen. Commit() übernimmt sie; beim Verlassen des using-Blocks ohne Commit werden sie zurückgesetzt.

using var tx = bpApp.StartTransaction<Artikel>();

var artikel = bpApp.QueryDataSet<Artikel>().First(a => a.ArtNr == "10000");
artikel.KuBez2 = "Überarbeitet";
artikel.Save();

tx.Commit();

Mit Rollback() können Sie die Änderungen ausdrücklich verwerfen. Halten Sie Transaktionen kurz: Gleichzeitige Schreibzugriffe anderer Threads auf denselben DataSet-Typ können eine InvalidOperationException mit „Concurrency Violation“ auslösen.