2014-06-08 2 views
0

나는 RavenDB 간단한 인덱스가RavenDb Linq에 더 큰 쿼리 및 낮은 비교

var query = from item in session.Query<TagCount>("Questions/Tags") select item; 
Console.WriteLine(query.Count()); 
foreach (var result in query) 
{ 
    Console.WriteLine("{0} - {1}", result.Tag, result.Count); 
} 

출력을 생성합니다 :

3 
Games - 1 
RavenDb - 2 
Intro - 1 

예상대로 이 루프 후 몇 가지 코드를 추가하는 경우 하지만, :

var counted = from item in query 
where item.Count > 0 
select item; 
Console.WriteLine(counted.Count()); 

출력은 다음과 같습니다

3 
Games - 1 
RavenDb - 2 
Intro - 1 
0 

WTF? 왜 카운트 수가 0입니까? 내가 계산 비교 '=='이있는 경우

는하지만, 그것은 작동 :

var counted = from item in query 
where item.Count == 1 
select item; 
Console.WriteLine(counted.Count()); 

3 
Games - 1 
RavenDb - 2 
Intro - 1 
2 

를 생성 진행 뭐죠?

+0

이렇게하면 어떻게됩니까? var results = session.Query ("Questions/Tags"). ToList(); var count = results.Count; '?? –

+0

카운트는 3입니다. 그리고 만약 내가 '쿼리'에서 '결과'에서 선택 계산 된 쿼리를 변경 예상대로 작동합니다. 하지만 왜? – l0nley

답변

0

인덱스를 저장하고 분석하기 위해 필드를 추가하지 않은 것이 문제입니다. 이 필드에서 쿼리 필드를 설정하고 분석을 설정하면 문제가 해결됩니다.