2012-07-24 2 views
0

winform-application 및 EF 4.2가 있습니다. 나는 EF 4.2에서 엔티티 질의에 대한 linq가 자동 컴파일된다는 것을 읽었다. 다음 내가 할 쿼리를 호출 할 때 :컨텍스트 및 컴파일 된 쿼리를 사용하는 엔터티 프레임 워크

using (BVSEntities bvsContext = new BVSEntities(ConnectionString)) 
     { 
      var person = (from sender in bvsContext.T_Absender 
          where sender.Absender_ID == id 
          select sender).First<T_Absender>(); 
      return person; 
     } 

질문 :) 1이 쿼리는 자동 컴파일되어 있습니까? 2) 자동 컴파일 된 경우. bvsContext가 사용 된 후에 폐기 되었기 때문에 컴파일 된 쿼리가 재사용됩니까? 3) 그렇지 않다면 어떻게 재사용 할 수 있습니까?하지만 동시성 문제는 없습니다.

답변

1

이 쿼리는 자동 컴파일입니까?

아니요 EF 4.2에는 자동 컴파일 된 쿼리가 없으므로 아니오입니다. EF 4.2에 포함될 것으로 예상되었지만 EF에 대한 명명 규칙이 변경되었습니다. 자동 컴파일 된 쿼리는 .NET 4.5의 일부입니다. EF 4.2는 수정 된 EF 4.1입니다.

bvsContext가 사용 된 후에 폐기 되었기 때문에 컴파일 된 쿼리가 재사용됩니까?

.NET 4.5에는 자동 컴파일 쿼리가이를 다시 사용하기위한 내부 캐시가 포함되어 있습니다.

+0

EF 4.5로 업데이트하면 obove 스타일을 사용할 수 있으며 컴파일 된 쿼리가 다시 사용된다는 의미입니까? –

+0

죄송합니다. 그래서 나는 fpr .Net 4.5를 기다려야한다. 감사 –

관련 문제