2011-04-21 18 views
6

我是一個NHibernate的新手說至少。NHibernate 3.1會話查詢方法在哪裏?

我正在使用NHibernate 3.1,並試圖使用通用會話查詢方法實現通用資源庫。但是,我無法在我的Visual Studio IDE智能感知中看到它。我只能看到QueryOver - 我不確定它是否意味着替換Query方法。如果是這樣,他們爲什麼不離開查詢,但有消息表明它已被按照慣例棄用?

請有人幫忙 - 我會永遠感激。

非常感謝S.O.F社區。

+2

對不起。想出了這一個。我只需要導入NHibernate.Linq命名空間。簡單地插入: 使用NHibernate.Linq 新手的錯誤,但可能會幫助某人。有關代碼爲: 公共的IEnumerator 的GetEnumerator() { 返回的Transact(()=> Session.Query ()。取(1000).GetEnumerator()); } – 2011-04-21 22:53:55

回答

13

它不被棄用。他們是不同的東西。 session.Query<T>()允許您使用LINQ提供程序,而QueryOver是不同的API,也是基於Expression的,但實際上更類似於Criteria API。

正如你已經想到的,你需要打開NHibernate.Linq命名空間來使用LINQ提供程序。

+0

感謝Mauricio的評論。確實很有幫助。 – 2011-04-22 00:19:14