2009-09-03 7 views

Répondre

24

Oui, j'ai finalement travaillé sur celui-ci:

public IQuerable<T> CreateLinqQuery() 
{ 
    var query = session.Linq<T>(); 
    query.QueryOptions.SetCachable(true); 
    return query; 
} 

Mise à jour Comme d'autres l'ont souligné, dans NH3, utilisez query.Cacheable(). Cependant être très prudent de le faire comme ceci:

// Correct way: 
query = query.Cacheable(); 

// This won't work: 
query.Cacheable(); 
+0

Merci cbp, je vais vérifier cela –

21

Pour NHibernate 3+, il est session.Query<T>().Cacheable()

3

NH3 version RC:

public IQueryable<T> Queryable<T>() 
{ 
    IQueryable<T> queryable = SessionFactory.OpenSession().Queryable<T>(); 
    queryable = queryable.Cacheable<T>(); 

    return queryable; 
} 
Questions connexes