Ich benutze nHibernate ICriteria, um eine Abfrage auszuführen, und ich möchte in der Lage sein, die SQL, die ausgeführt wurde, nachdem die Anweisung ausgeführt wird. Also zum Beispiel habe ich so etwas.Get executed SQL von nHibernate
ISession session = NHibernateSessionManager.Instance.GetSession();
DetachedCriteria query = BuildCriteria(); // Goes away and constructs the ICriteria
var result = query.GetExecutableCriteria(session).List<object>()
// somehow here get the sql that was just run
string sql = query.GetSqlSomehow();
Ich weiß, dass ich es anmelden und die SQL im Protokoll sehen, aber ich möchte es erhalten sofort nach der Ausführung der Anweisung, damit ich die SQL für den Benutzer angezeigt werden kann (auch wenn es nicht schön aussieht).
http://stackoverflow.com/questions/10704462/how-can-i-have-nhibernate-only-generate-the-sql-without-executing-it –