2016-07-26 4 views
4

IQueriable 데이터 (초기 카운트 m)에 take(n) LINQ 방법을 수행 한 후, 메소드 Count() 여전히 m 값을 반환한다."IQueryable"의 "Take()"뒤에 "Count()"가 잘못된 결과를 반환합니까?

ToList() 명령은 에서 실제 카운트를 얻는 유일한 옵션입니다. IQueryable?

var data = service.Get();//100 records 
var data2 = data.Take(10); 

var count = data2.count(); //result 100 - wrong 
var count2 = data2.ToList().Count; // result 10 - correct 
+2

당신은 당신의 코드를 게재 할 수 있습니까? – Shyju

+0

@Shyju이 (가) 업데이트되었습니다. –

+0

그럼 코드는 어디에 있습니까? –

답변

4

당신은() (취하도록 지정된 값보다 클 수 없다 올바른 값부터)이 경우에 ToList()를 사용하거나 대체 솔루션을 찾거나) (자신을 백작의 결과를 모자해야한다 .

NHibernate에 알려진 버그가

: https://nhibernate.jira.com/browse/NH-2477