Diese Klassen haben einige ähnliche Methoden, scheinen aber etwas anders zu funktionieren.Was ist der Unterschied zwischen DetachedCriteria und ICriteria?
Was ist der Unterschied zwischen ihnen und wann sollte ich sie verwenden?
Diese Klassen haben einige ähnliche Methoden, scheinen aber etwas anders zu funktionieren.Was ist der Unterschied zwischen DetachedCriteria und ICriteria?
Was ist der Unterschied zwischen ihnen und wann sollte ich sie verwenden?
Abgetrennte Kriterien können ohne Bezug auf eine ISession
aufgebaut werden. Sie können dieses Kriterium später anwenden und es auf ISession
anwenden, um eine ausführbare Datei ICriteria
zu erhalten.
Verwenden Sie ICriteria
, wenn Sie eine Sitzung haben.
Verwenden Sie DetachedCriteria
, wenn Sie nicht sicher sind, für welche Sitzung die Abfrage ausgeführt wird.
Beachten Sie, dass DetachedCriteria
nicht implementieren ICriteria
- sie sind nicht austauschbar. Sie müssen immer detachedCriteria.GetExecutableCriteria(session)
anrufen, um eine ICriteria
Instanz zu erhalten.
Danke für die Antwort, ich habe meine Frage aktualisiert, können Sie es überprüfen? – kilonet
@kilonet Ja; wirkt bizarr. Wenn Sie einen Haltepunkt auf dem zweiten setzen und den Wert der lokalen 'category'-Variablen prüfen, was ist das? – Jay
yep, es war Variable Benennung Problem – kilonet