2011-01-27 2 views
5

Je viens de commencer à utiliser LINQ avec NHibernate dans NHibernate 3, après avoir précédemment utilisé ICriteria.NHibernate 3 Linq requête mise en cache

Voici un exemple de requête:

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(); 

Comment puis-je configurer que le cache? J'ai jeté un coup d'oeil et d'autres questions semblent utiliser une syntaxe différente (peut-être périmée?), Ou peut-être que je le fais mal ...

+0

Essayez "results.Cacheable(). ToList();" – Phill

Répondre

9

Utilisez la méthode d'extension Cacheable() sur votre Requête avant d'appeler ToList().

+0

Je ne pense pas qu'il existe encore de documentation officielle ... J'ai commencé à mettre à jour les docs existants il y a quelques mois, mais j'ai perdu la motivation. Je crois que c'est couvert dans le livre de Jason Dentler. –

Questions connexes