2011-01-27 122 views
5

我剛剛開始在NHibernate 3中使用NHibernate的LINQ與之前使用ICriteria後。NHibernate 3 Linq查詢緩存

下面是一個例子查詢:

ISession session = NHibernateSessionManager.Instance.GetSession(); 

var results = from project in session.Query<Project>() 
       where project.ProjectState == ProjectState.Archive 
       orderby project.ProjectNumber 
       select project; 

return results.ToList(); 

如何設置緩存?我有一個四處看看,其他問題似乎使用不同的(也許是過時的?)語法,或者我做錯了......

+0

嘗試「results.Cacheable()。ToList();」 – Phill 2011-01-27 06:59:45

回答

9

在調用ToList()之前,在您的Queryable上使用Cacheable()擴展方法。

+0

我不認爲還有任何官方文檔......我幾個月前開始更新現有文檔,但失去了動機。我相信它在Jason Dentler的書中有介紹。 – 2011-01-27 23:49:59