Wir haben 3 Funktionen zur Auswahl, mit der man UnitOfWork’s bereinigen kann. Je nach Anwendungsfall ist die eine oder andere sinnvoller. Neben dem eigentlichen Zurücksetzen der Transaktionen gehen die einzelnen Methoden unterschiedlich mit den geladenen Datensätzen im Cache um.
RollbackTransaction()
: Datensätze bleiben erhalten.DropIdentityMap()
Datensätze werden ungültig
Bevorzugt, falls man sicher ist, dass es keine Referenzen mehr zu den Datensätzen existieren.UndoChanges()
(Erweiterungsmethode von GI in SessionExtensions) Datensätze werden aus DB neu geladen, bzw. neue Sätze werden verworfen.
Bevorzugt, falls man nicht sicher sein kann, dass es weitere Referenzen zu den Datensätzen existieren.