用LinqPad檢視Nhibernate生成的sql語句

ido發表於2014-05-12

  使用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();  
}
複製程式碼

 

相關文章