2009-09-03 28 views

Respuesta

24

Sí, finalmente me funcionó éste hacia fuera:

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

actualización Como otros han señalado, en NH3, utilice query.Cacheable(). Sin embargo tener mucho cuidado para hacerlo de esta manera:

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

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

Gracias CBP, voy a ver esto –

21

Para NHibernate 3+ es session.Query<T>().Cacheable()

versión
3

NH3 RC:

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

    return queryable; 
}