上篇文章中我們提到可以通過(guò)重寫NHibernate的EmptyInterceptor 攔截器來(lái)監(jiān)控NHibernate發(fā)送給數(shù)據(jù)庫(kù)的SQL腳本,今天看到有朋友用LINQPad工具來(lái)進(jìn)行NHibernate生成的SQL語(yǔ)句監(jiān)控,試了下感覺(jué)更直觀了。當(dāng)然這不是LINQPad的主要功能,但我們可以通過(guò)這種方法來(lái)達(dá)到我們的目的。
接下來(lái),我們看一下如何使用LINQPad來(lái)查看NHibernate發(fā)送給數(shù)據(jù)庫(kù)的SQL。
1.按F4進(jìn)入Query PRoperties,或者Query->Query Propertiesl。在這里添加NHibernate和你所使用的Entity相關(guān)dll文件。

2.在Additional Namespace Imports選項(xiàng)卡中,點(diǎn)擊Pick from assemblies 將所用到的命名空間添加進(jìn)來(lái)。

3.返回到主界面,編寫測(cè)試代碼,并執(zhí)行。

這樣就可以很直觀的看到生成的SQL語(yǔ)句和查詢的結(jié)果了。

Configuration config = new Configuration().Configure(@"D:/Norton.Demo/NHibernate/Norton.Demo.NHibernate/NHibernate/hibernate.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
轉(zhuǎn)載請(qǐng)注明來(lái)源:http://m.survivalescaperooms.com/caoming/p/4148326.html
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注