Get executed SQL from nHibernate
I am using nHibernate ICriteria to execute a query, and I would like to be able to get the SQL that was executed after the statement runs. So for example I have something like this.

    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();

I know I can log it and see the sql in the log, but I want to get it immediately after executing the statement so I can display the SQL to the user (even if it doesn't look nice).
Get executed SQL from nHibernate
===

I am using nHibernate ICriteria to execute a query, and I would like to be able to get the SQL that was executed after the statement runs. So for example I have something like this.

    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();

I know I can log it and see the sql in the log, but I want to get it immediately after executing the statement so I can display the SQL to the user (even if it doesn't look nice).