IQueryable
은 ID
속성 (열)이있는 데이터 유형을 반환한다고 가정 해보십시오. n
는 어떤 임의의 메인 쿼리에서 각각의 고유 한 ID
를 들어각 고유 ID의 첫 번째 N 행에 대해서만 Linq 쿼리
를, 내가 Take(n)
원하는 : 내가 더 내 쿼리를 다음과 같이 (I 쿼리을 평가하지 않으 )를 필터링 할
가
번호.즉 각 고유 ID에 대해 첫 번째 n
행만 유지하려고합니다.
나는 별개의 ID
년대를 얻을 수 있습니다 ...
var ids = query.Select(q => q.ID).Distinct();
나는 그들 중 나머지 수 Take(n)
,하지만 난 두 개의 연결에 난처한 해요 :
query = query.<FOR EACH DISTINCT ID>.Take(n);
을 허용되는 대답은 작동하지만 큰 테이블의 경우 느립니다. 나는 후속 조치로 this question를 썼다.