2014-11-25 2 views
0

아래 linq 쿼리의 첫 번째 쿼리가 정상적으로 실행 중입니다.Linq가 groupby에 대한 제한 시간을주는

1) var vrtemp = from details in context.GetQueryable<vw_FetchDTR>() 
           where details.App == id.ToString() 
           select details; 

하지만 처음 쿼리 결과에 groupby를 적용하면 시간 초과가 표시됩니다.

2) var vrdetails = vrtemp.GroupBy(x => x.CompName); 

참고 : vw_FetchDTR는 SQL로 볼 수

+0

생성 된 SQL의 모습을 확인 했습니까? 쿼리 프로파일 링을 시도 했습니까? – MarcinJuraszek

+0

EntityFramework –

+0

을 사용하는 경우 질의에 많은 시간이 걸립니다. http : //joaodepaula.com/articles/context_timeout.html을 확인하십시오. –

답변

0

아마 Linq에 효과적인 SQL 쿼리가 생성되지입니까? GroupBy 작업을 적용하기 전에 모든 데이터를 가져올 수 있습니다. 다음과 같이하십시오 :

var vrdetails = vrtemp.ToList(). GroupBy (x => x.CompName);

이 경우 서버 측에서 GroupBy 작업을 실행합니다. 전송 된 데이터의 양은 증가하지만 SQL Server에서 더 효과적 일 수 있습니다.