2011-04-07 2 views
1

저는 현재 실버 라이트 애플리케이션을 리팩터링하고 자주 사용되는 쿼리를 유틸리티 클래스에 가져 왔습니다. 이 응용 프로그램의 쿼리가 많이 있으며, 일부 분명한 목표가 있었다 동안이 같은 아주 작은 쿼리에 내려 할 때, :Linq 쿼리를 미리 컴파일할지 여부를 결정할 때 가장 좋은 방법은 무엇입니까?

public static readonly Func<STARSEntities, int> CurrentFundingYearId = 
     CompiledQuery.Compile<STARSEntities, int>(
     (ctx) => 
      (ctx.STARS_FundingYear.Where(i => i.IsCurrentYear == true)).FirstOrDefault().FundingYearId); 

은 컴파일 가치가? 내가 읽은 모든 것 (Programming Entity Framework 2ed)과 다양한 온라인 소스에 따르면 성능이 향상되지만 익명의 타입을 반환 할 수 없으므로 미리 컴파일하지 않을 때는 아무 것도 발견하지 못했습니다. 따라서 프로젝션이 없습니다.).

편집 : 컴파일 된 쿼리에 대한 좋은 배경 기사 : Precompiling LINQ Queries

(여부)는 응용 프로그램에서 Linq에 쿼리를 미리 컴파일 할 때 결정하기위한 가장 좋은 방법은 무엇입니까?

답변