2010-12-09 6 views
0

Ich habe ein Problem in meiner Anwendung, wenn ich eine Entität speichere. Gelegentlich würde ich eine NonUnique-Ausnahme für diese Entität von NHibernate erhalten. Nun weiß ich, was diese Art von Ausnahmen verursacht und wie man mit ihnen umgeht, aber da die Codebasis der Anwendung ziemlich groß ist (200K LOC), ist es sehr schwer zu bestimmen, welches Objekt genau diesen Fehler verursacht hat.Abfrage des NHibernate-Sitzungsbereichscache - NonUnique Exception

Was Ich mag würde zu tun ist, Abfrage oder extrahieren irgendwie alle Objekte, die NHibernate im Sitzungsbereich Cache hält, also würde ich eine bessere Vorstellung davon haben, was es war genau das, dass diese Ausnahme verursacht hat.

Gibt es eine Möglichkeit, so etwas zu tun?

+0

möglich Duplikat von [NHibernate Cache Query] (http://stackoverflow.com/questions/1395572/nhibernate-cache-query) –

+0

Diese Frage zeigt nur, wie überprüft werden kann, ob ein Objekt bereits vorhanden ist. Ich möchte alle anderen Objekte dort sehen, also kann ich das widersprüchliche Objekt lokalisieren. –

+0

können Sie das nicht tun –

Antwort

0

Soweit ich weiß, gibt es in ISession nichts, um seinen Inhalt "aufzulisten". Sie können Interceptors oder Event-Listener verwenden, um Ihre Operationen zu verfolgen und zu protokollieren.

+0

Irgendeine Idee, wie ich versuchen könnte, so etwas zu debuggen? –

+0

@Miki: wie gesagt, verwenden Sie Interzeptoren oder Event-Listener –