Ich stoße auf das Problem, wenn ich Daten in eine große Tabelle importiere, die gesamte Website wird heruntergefahren, bis der Import abgeschlossen ist. Dies kann bis zu 3 Stunden dauern, bis der Einfüge-/Aktualisierungsprozess abgeschlossen ist. Wenn aus irgendeinem Grund eine Ausnahme ausgelöst wird, bleiben die Tabellen unbegrenzt gesperrt, bis der Anwendungspool neu gestartet wird.Wie wird die Sperrung in Fluent NHibernate deaktiviert?
Ich schaute in was geschah. Anscheinend sind die berührten Tabellen gesperrt, bis dieser Prozess beendet ist. Wenn dies direkte SQL-Abfragen wären, würde ich der Abfrage "mit (NOLOCK)" hinzufügen, um das Problem zu lösen. Ich kann jedoch nicht herausfinden, wie ich Fluent NHibernate sagen kann, dass es den erzeugten Abfragen hinzugefügt werden soll.
Gibt es auch eine Möglichkeit beim Erstellen der Session Factory, die ich in eine Einstellung setzen kann, um "mit (NOLOCK)" standardmäßig in alle Abfragen einzuschalten?
Vielen Dank im Voraus.
Sie müssen den Lockmodus einstellen. http://stackoverflow.com/questions/1302746/how-do-add-nolock-with-nhibernate – rie819
Verwenden Sie eine zustandslose Sitzung ?? Dies kann helfen. http://davybrion.com/blog/2008/10/bulk-data-operations-with-nhibernates-stateless-sessions/ – CrazyCoderz
Hier ist meine Lösung mit SQL Interceptor. http://stackoverflow.com/questions/1302746/how-do-add-nolock-with-nhibernate/39518098#39518098 –