문제

엔티티에 LINQ를 사용할 것입니다. 내가 가진 질문은, 나는 Linq를 엔티티에게 여러 번 전화 할 것입니다. Linq to Entities Queries가 캐시 될까요? 여러 번 호출됩니까? 그렇지 않은 경우 쿼리를 캐시하는 방법이 있으므로 호출 할 때마다 컴파일되거나 생성되지 않습니다.

도움이 되었습니까?

해결책

일반적으로 기본적으로 캐싱이 충분하지 않습니다. 거기 있습니다 일정량의 컴파일 쿼리 캐싱 엔티티 프레임 워크가하는 일이지만 ObjectContext보다 더 오래 살지 않습니다. 나와 같은 수명이 짧은 ObjectContexts가 있다면 더 오래 지속되는 것을 원할 것입니다. 그 "뭔가"입니다 compiledquery.

다른 팁

기본적으로 예.
자세한 내용은 여기를 참조하십시오 -> "대상을 요구할 때마다 항상 같은 인스턴스를 다시 얻을 수 있습니다."하나 더 링크

업데이트

컴파일 된 쿼리가 무엇을 의미합니까? 항상 같은 객체 세트를 반환하는 쿼리? 일 IL에 컴파일 된 쿼리는 무엇입니까? 동일한 인스턴스를 반환하는 쿼리?

컴파일 된 쿼리를 사용하여 매번 쿼리가 생성되지 않도록 할 수 있습니다. 정확히 동일한 쿼리를 여러 번 사용하는 경우 성능이 크게 향상됩니다.

http://thedatafarm.com/blog/data-access/compiled-queries-in-entity-framework/

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top