[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.DemoNHibernateNorton.Demo.NHibernateNHibernatehibernate.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

原文地址:https://www.cnblogs.com/caoming/p/4148326.html