NHibernate截取SQL语句和参数
这个问题几乎和你的一样,但到目前为止还没有答案NHibernate截取SQL语句和参数,nhibernate,interceptor,Nhibernate,Interceptor,这个问题几乎和你的一样,但到目前为止还没有答案 Public Class SqlStatementInterceptor Inherits EmptyInterceptor Implements IInterceptor Public Overrides Function OnPrepareStatement(sql As SqlString) As SqlString Debug.WriteLine(String.Format("{0} - {1}",
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语句m,但似乎无法获取参数。有人试过实现它吗?您需要编写log4net appender。这就是NHProf获取信息的方式。codeplex上还有一个名为的项目,它使用了这种技术。您需要编写log4net appender。这就是NHProf获取信息的方式。codeplex上还有一个名为的项目,它使用了这种技术。您可以将
log4net
与TraceAppender
一起使用,还可以在配置中使用format\u sql=true
属性来帮助提高可读性。要使用的记录器是NHibernate.SQL
您可以将log4net
与TraceAppender
一起使用,还可以在配置中使用有助于可读性的format\u SQL=true
属性。要使用的记录器是NHibernate.SQL
@Felice Pollano我可以,但并不理想。因为我使用SQLite实现单元测试(在生产代码中我使用SQL Server),所以在VS输出窗口中显示语句可能会更快。如果您只想看到什么,无需创建特殊的附加器happens@Felice波拉诺:我可以,但并不理想。因为我使用SQLite实现单元测试(在生产代码中我使用SQL Server),所以在VS输出窗口中显示语句可能会更快。如果您只想看到发生了什么,就不需要创建特殊的appender