Jak włączyć NHibernate Second-Level Cache z NHibernate Linq Provider 1.0?NHibernate Second Level Cache z NHibernate Linq Provider 1.0
Pamięć podręczna drugiego poziomu wydaje się działać tylko z użyciem ICriteria.
Jak włączyć NHibernate Second-Level Cache z NHibernate Linq Provider 1.0?NHibernate Second Level Cache z NHibernate Linq Provider 1.0
Pamięć podręczna drugiego poziomu wydaje się działać tylko z użyciem ICriteria.
Tak, wreszcie pracował ten jeden:
public IQuerable<T> CreateLinqQuery()
{
var query = session.Linq<T>();
query.QueryOptions.SetCachable(true);
return query;
}
Aktualizacja Jak inni zwrócili uwagę, w NH3, użyj query.Cacheable(). jednak być bardzo ostrożnym, aby zrobić to w ten sposób:
// Correct way:
query = query.Cacheable();
// This won't work:
query.Cacheable();
Dla NHibernate 3+ to session.Query<T>().Cacheable()
NH3 RC:
public IQueryable<T> Queryable<T>()
{
IQueryable<T> queryable = SessionFactory.OpenSession().Queryable<T>();
queryable = queryable.Cacheable<T>();
return queryable;
}
Dzięki CBP, będę to sprawdzić –