Ich habe ein Problem mit NHibernate ISession
. Wenn ich versuche, etwas in der Datenbank falsch zu machen (z. B. Speichern einer Entität mit doppeltem Schlüssel in XYZ-Spalte) und Rollback Transaction
; ISession
Instanz geht in einen BROKEN/INVALID-Zustand, der danach keinen Datensatz mehr speichert, und jedes Mal, wenn NHibernat
eine weitere Ausnahme auslöst, die mich über das erste Mal informiert.NHibernate ISession: Nichts kann nach einer Ausnahme beibehalten werden
Ich habe ISession Methoden wie Flush, Clear, Close
verwendet, aber mein Problem existiert. Ein anderer Ansatz besteht darin, eine weitere ISession
Instanz von anzufordern, aber wenn ich dies benutze, ein anderes seltsames Problem: illegal attempt to associate a collection with two open sessions
.
Wie kann ich eine ISession-Instanz wiederherstellen, ohne erneut eine andere von anzufordern?
Vielen Dank im Voraus :)
Haben Sie eine Lazyload-Eigenschaft für dieses Modell? –
Ja! Viele Lazy geladenen Eigenschaften (Navigation, Sammlungen) – Sadegh
Wenn Sie einige der Eigenschaften anfordern, könnte ein Problem sein. –