首页 > 代码库 > [NHIbernate]利用LINQPad查看NHibernate生成SQL语句

[NHIbernate]利用LINQPad查看NHibernate生成SQL语句

  上篇文章中我们提到可以通过重写NHibernate的 EmptyInterceptor 拦截器来监控NHibernate发送给数据库的SQL脚本,今天看到有朋友用LINQPad工具来进行NHibernate生成的SQL语句监控,试了下感觉更直观了。当然这不是LINQPad的主要功能,但我们可以通过这种方法来达到我们的目的。

  接下来,我们看一下如何使用LINQPad来查看NHibernate发送给数据库的SQL。

1.按F4进入Query Properties,或者Query->Query Propertiesl。在这里添加NHibernate和你所使用的Entity相关dll文件。

 

 

2.在Additional Namespace Imports选项卡中,点击Pick from assemblies 将所用到的命名空间添加进来。

 

3.返回到主界面,编写测试代码,并执行。

这样就可以很直观的看到生成的SQL语句和查询的结果了。

Configuration config = new Configuration().Configure(@"D:\Norton.Demo\NHibernate\Norton.Demo.NHibernate\NHibernate\hibernate.cfg.xml");var SessionFactory = config.BuildSessionFactory();using(var session = SessionFactory.OpenSession()){    var list = session.CreateCriteria<Product>()                    .Add(Restrictions.Eq("Name", "Apple"))                    .UniqueResult<Product>();    list.Dump();}
View Code

 

[NHIbernate]利用LINQPad查看NHibernate生成SQL语句