[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

 

转载请注明来源:http://www.cnblogs.com/caoming/p/4148326.html

posted @ 2014-12-06 15:42  Norton.Li  阅读(513)  评论(0编辑  收藏  举报