¿Cómo se habilita NHibernate Second-Level Cache con NHibernate Linq Provider 1.0?Caché de segundo nivel NHibernate con NHibernate Linq Provider 1.0
El segundo nivel de caché parece funcionar solo con el uso de ICriteria.
¿Cómo se habilita NHibernate Second-Level Cache con NHibernate Linq Provider 1.0?Caché de segundo nivel NHibernate con NHibernate Linq Provider 1.0
El segundo nivel de caché parece funcionar solo con el uso de ICriteria.
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();
Para NHibernate 3+ es session.Query<T>().Cacheable()
NH3 RC:
public IQueryable<T> Queryable<T>()
{
IQueryable<T> queryable = SessionFactory.OpenSession().Queryable<T>();
queryable = queryable.Cacheable<T>();
return queryable;
}
Gracias CBP, voy a ver esto –