2011-01-27 186 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