使用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
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<Role>().Select( m => new Role() {Id = m.Id, Privileges = null, ReMark = m.ReMark, RoleName = m.RoleName}).ToList (); //顯示結果 list.Dump(); }