2014-01-06 5 views
1

,LINQ 매우 SLOW .toList() 나는 내가 해결할 수없는 문제를 해요

내가 LINQ에서 간단한 쿼리를 만들고 있어요을 할 때 :

List<MOV> mvs = (from x in new MyAppDataContextSingleton().DataContext.MOV 
            where x.dateMOV.GetValueOrDefault(x.dateCriation).Date >= initialDate.Date && x.dateMOV.GetValueOrDefault(x.dateCriation).Date <= finalDATE.Date 
            orderby x.dateMOV 
            select x).ToList(); 

이 쿼리를 직접에 실행 SQL은 매우 빠르며 단지 20 개의 결과 만 반환합니다! LINQ를 사용하여 프로젝트에서이 쿼리를 실행할 때 20 초가 걸리던 속도가 매우 느립니다 : \이 문제는이 테이블에 쿼리를 실행할 때만 발생합니다. 무슨 일이 벌어지는 지 아십니까? 어떻게 해결할 수 있습니까?

안부, 앙드레

+2

무엇 당신의 MOV 객체가 생겼는데? 이 linq 쿼리가 생성하는 실제 SQL을 확인 했습니까? – Geoff

+1

GetValueOrDefault가 MOV의 모든 항목에 대해 두 번 호출되는 것을 확인하고 확인합니다. – PhillyNJ

+0

Geoff, 예, Management Studio에서 생성 된 SQL을 실행하면 빠르게 실행됩니다. –

답변

관련 문제