2013-01-09 3 views
0

linq 쿼리를 컴파일하려고합니다.DataSet의 ObjectContext

Func<ImportNewPermits_Enviance, String, EnumerableRowCollection<ImportNewPermits_Enviance._History_for_Permit__POI__Data_Row>> s_compiled = 
    CompiledQuery.Compile<ImportNewPermits_Enviance, String, EnumerableRowCollection<ImportNewPermits_Enviance._History_for_Permit__POI__Data_Row>>(
     (ctx, poiName) => from r in ctx._History_for_Permit__POI__Data_ 
          where r.POI_Name == poiName 
          select r); 

는 지금은 There is no implicit reference conversion from ImportNewPermits_Enviance to System.Data.Objects.ObjectContext

ImportsNewPermits_Enviance가 입력 DataSet의 이름 오류에 직면하고있다.

가 어떻게에서 ObjectContext을 도출 않는 입력 DataSet

+1

당신은 그렇지 않습니다. ObjectContext/CompiledQuery는 Entity Framework의 일부이며 DataSet은 고전적인 ADO.NET의 일부입니다. 2 개의 별개이며 주로 관련없는 데이터 액세스 기술. – luksan

+0

그럼 DataSet을 쿼리하는 linq 쿼리를 컴파일하는 방법은 무엇입니까? – clarity

답변

0

쿼리를 컴파일 할 필요가 왜 표시되지 않습니다. 형식화 된 DataSet에 대해 Linq 쿼리를 사용하는 경우, 이는 Linq To Objects 쿼리 유형입니다. 즉, 모든 것이 메모리에서 실행되고 있음을 의미합니다. 이는 매우 빨라야합니다. 그러나 정말로 Linq 개체 쿼리를 컴파일 할 경우 쿼리하는 IEnumerable AsQueryable() 호출 할 수 및 나중에 평가를 위해 결과 쿼리를 저장할 수 있습니다. 나는 이것이 Linq to Objects 프로 바이더가 쿼리를 컴파일하도록 할 것입니다. 즉,