2010-02-14 3 views
0

NHibernate.Search와 2nd Level Cache를 사용하는 방법?NHibernate.Search로 2nd Level Cache를 사용하는 방법

FullTextQuery에서 SetCacheable을 사용하려고했지만 작동하지 않습니다. 그쪽으로 캐시가 잘 작동 다른 모든 표준 쿼리를 들어 있지만 FullTextQueries와

 var session = Search.CreateFullTextSession(database.Session); 

     session.CacheMode = CacheMode.Normal; 

     var textQuery = session.CreateFullTextQuery(query, new[] { typeof(Job) }); 

     textQuery.SetCacheable(true); 
     textQuery.SetCacheRegion("Job"); 

     var jobs = textQuery.List<Job>(); 

     return jobs; 

, 그것은, NHibernate.Search는 여전히 내 데이터베이스에 접속하지 않습니다. NHibernate.Search 쿼리를 생성

참고 ENTITYID IN (Id1에, ID2, ID3, ...)

답변

2

SELECT ... 당신은 당신의 실체는 2 레벨 캐시에 있는지 확인합니다. 일반적으로 트랜잭션 내에서 작업하고 쿼리해야만 2 차 수준 캐시가 아무 것도 할 수 없습니다.

+1

내가 설립 한 유일한 방법은 nhibernate fulltextquery에 대한 기준을 지정하는 것입니다 ... –

관련 문제