2010-08-25 47 views
1

从ICriteria中,是否可以检索包含NHibernate计划执行的SQL的字符串? 我知道可以接收跟踪,但我想知道是否有可以调用的方法来生成SQL(例如,因此您不必实际刷新到数据库)。NHibernate:检索要作为字符串执行的SQL

+1

“所以你不必实际刷新数据库”这似乎指向一个基本问题。你真的*试图解决什么? – 2010-08-25 12:41:44

+2

[在运行时代码中如何获取NHibernate生成的SQL?](http://stackoverflow.com/questions/3292224/how-to-obtain-nhibernate-generated-sql-in-code-at-runtime) – 2010-08-25 13:03:22

+0

@Mauricio Scheffer我有一个用于生成主要由精通数据库的IT经理运行的报表的系统。我想显示原始SQL的副本,以便他可以直接在数据库上运行,如果他想。 – cbp 2010-08-25 13:53:58

回答

0

它不直接暴露在任何地方。请记住生成的SQL是依赖于方言,驱动程序和批处理程序的,因此最终SQL的生成过程很晚才会发生。

0

NHibernate Profiler非常适合我们。有一个试用版可以在nhprof.com/ 编辑:NHProf将自己附加到从你的机器到数据库的连接上,并捕获任何经过的SQL,结果的数量和花费在获取处理上的时间。 NHProf还为您提供各种可以改善性能的建议。

+0

(僵尸线程警报,抱歉)由于答案是尝试使用商业第三方软件,名称后跟一个链接可能是适当的。 ; ^) – ruffin 2014-05-15 20:49:23