使用Nhibernate开发一般都要对Nhibernate生成的sql语句进行查看及分析,查看Nhibernate生成的sql语句,可以使用NHProfiler和log4net。但NHProfiler是要付费的(当然,在天朝,你懂的……),用log4net配置比较麻烦。今天在网上查看Linq to Nhibernate资料的时候发现了一个工具LinqPad,于是又找了相关资源,发现它还真能实现Nhibenate语句的查看。废话少说,看下面的使用方法吧!
1、 下载LinqPad,地址:
2、 配置LinqPad,运行LinqPad,在菜单里选择Query—>Query Propeties;在选项卡中Additional References,点击“Browse…”按钮,选择项目中必要的Dll。
Dll包括:数据库驱动dll,实体映射dll(图中的Entity),nhibernate相关的dll
3、 在选项卡“Additional Namespace Imports”点击右上角的“Pick from assemblies”然后再选择相应的命名空间即可
4、 写代码测试下
不仅看到了生成的sql语句,还看到查询的结果,还真方便!
代码:
Configuration configuration = new Configuration().Configure(@"替换成hibernate.cfg.xml的路径");var SessionFactory = configuration.BuildSessionFactory();using(var session= SessionFactory.OpenSession()){ var list= session.Query().Select( m => new Role() {Id = m.Id, Privileges = null, ReMark = m.ReMark, RoleName = m.RoleName}).ToList (); //显示结果 list.Dump(); }