Инструкция и параметры SQL перехвата NHibernate - PullRequest
1 голос
/ 28 декабря 2011

Этот вопрос почти такой же, как Перехватывать операторы SQL, содержащие значения параметров, сгенерированные NHibernate , но пока без ответа.

Public Class SqlStatementInterceptor
    Inherits EmptyInterceptor
    Implements IInterceptor

    Public Overrides Function OnPrepareStatement(sql As SqlString) As SqlString
        Debug.WriteLine(String.Format("{0} - {1}", DateTime.Now, sql.ToString()))
        Return sql
    End Function
End Class

Я могу перехватить оператор SQL, но, похоже, не могу получить параметры. Кто-нибудь когда-нибудь пытался этого добиться?

Ответы [ 2 ]

4 голосов
/ 28 декабря 2011

Вам необходимо написать log4net appender.Так NHProf получает информацию.Существует также проект кодекса, называемый NHibernate 3.0 SQL Logger , который использует эту технику.

1 голос
/ 28 декабря 2011

Вы можете использовать log4net с TraceAppender, а также свойством format_sql=true в конфигурации, которые помогают в удобочитаемости.Используемый логгер NHibernate.SQL.

...