用LinqPad查看Nhibernate生成的sql语句

  使用Nhibernate开发一般都要对Nhibernate生成的sql语句进行查看及分析,查看Nhibernate生成的sql语句,可以使用NHProfiler和log4net。但NHProfiler是要付费的(当然,在天朝,你懂的……),用log4net配置比较麻烦。今天在网上查看Linq to Nhibernate资料的时候发现了一个工具LinqPad,于是又找了相关资源,发现它还真能实现Nhibenate语句的查看。废话少说,看下面的使用方法吧!

1、 下载LinqPad,地址:http://www.linqpad.net/

2、 配置LinqPad,运行LinqPad,在菜单里选择Query—>Query Propeties;在选项卡中Additional References,点击“Browse…”按钮,选择项目中必要的Dll。

Dll包括:数据库驱动dll,实体映射dll(图中的Entity),nhibernate相关的dll

用LinqPad查看Nhibernate生成的sql语句_第1张图片

3、 在选项卡“Additional Namespace Imports”点击右上角的“Pick from assemblies”然后再选择相应的命名空间即可

用LinqPad查看Nhibernate生成的sql语句_第2张图片

4、 写代码测试下

用LinqPad查看Nhibernate生成的sql语句_第3张图片

不仅看到了生成的sql语句,还看到查询的结果,还真方便!

代码:

Configuration configuration = new Configuration().Configure(@"替换成hibernate.cfg.xml的路径");
var SessionFactory = configuration.BuildSessionFactory();
using(var session= SessionFactory.OpenSession())
{
    var list= session.Query<Role>().Select(
                        m => new Role() {Id = m.Id, Privileges = null, ReMark = m.ReMark, RoleName = m.RoleName}).ToList
                        ();
    //显示结果
    list.Dump();  
}
View Code

 

 

 

你可能感兴趣的:(Hibernate)