如何查看NHibernate生成的查询?

如何查看NHibernate生成的查询?,nhibernate,Nhibernate,目前,我已经设置了一些事件侦听器来记录发生的所有插入/更新/删除操作。我只是浏览属性列表,构建一个字符串插入到审计表中 我真正想做的是获取NHibernate生成的原始SQL查询。就像NHProf所展示的那样 我该怎么做?将true放在配置文件中,使其将SQL输出到控制台 如果您希望预打印,也可以将设置为true 或者,您可以配置log4net(记录器为“NHibernate.SQL”,IIRC)并将其发送到您想要的任何地方。将true放在配置文件中,使其将SQL输出到控制台 如果您希望预打印,

目前,我已经设置了一些事件侦听器来记录发生的所有插入/更新/删除操作。我只是浏览属性列表,构建一个字符串插入到审计表中

我真正想做的是获取NHibernate生成的原始SQL查询。就像NHProf所展示的那样

我该怎么做?

true
放在配置文件中,使其将SQL输出到控制台

如果您希望预打印,也可以将
设置为true

或者,您可以配置log4net(记录器为“NHibernate.SQL”,IIRC)并将其发送到您想要的任何地方。

true
放在配置文件中,使其将SQL输出到控制台

如果您希望预打印,也可以将
设置为true


或者,您可以配置log4net(记录器为“NHibernate.SQL”,IIRC)并将其发送到任何您想要的地方。

如果要将其输出到控制台,如何在代码中获取它?我需要它的代码,这样我就可以把它作为审计日志插入数据库。你读了最后一部分了吗?(顺便说一句,我想nhprof就是这么做的)嗯。。。从Ayende在这里的帖子中,并查看NHProf中包含的文件,即HibernatingRhinos.Profiler.Appender.dll,它似乎是一个正在使用的定制log4net Appender。我会调查的。谢谢,好的。我能够创建一个定制的log4net appender,通过代码钩住它,我可以看到所有的SQL语句,就像它们在NHProf中显示的一样。这是可行的,但是有没有办法使用事件侦听器来获得相同的结果呢?不,SQL没有向事件侦听器公开(这是一个较低的级别),如果它被输出到控制台,如何在代码中获取它?我需要它的代码,这样我就可以把它作为审计日志插入数据库。你读了最后一部分了吗?(顺便说一句,我想nhprof就是这么做的)嗯。。。从Ayende在这里的帖子中,并查看NHProf中包含的文件,即HibernatingRhinos.Profiler.Appender.dll,它似乎是一个正在使用的定制log4net Appender。我会调查的。谢谢,好的。我能够创建一个定制的log4net appender,通过代码钩住它,我可以看到所有的SQL语句,就像它们在NHProf中显示的一样。这是可行的,但是有没有办法使用事件侦听器来获得相同的结果呢?这将是理想的。不,SQL不向事件侦听器公开(这是一个较低的级别)。您也可以使用SQL Server Profiler。我需要保存查询以进行审核;因此之前使用事件监听器。您也可以使用SQL Server Profiler。我需要保存查询以进行审核;因此,在之前使用事件侦听器。