iqueryable vs. ienumerable : 실용 가이드
데이터로 작업 할 때
는 데이터베이스 (LINQ에서 SQL, LINQ에서 엔티티에서 엔티티)와 같은 원격 데이터 소스와 관련된 시나리오에서 탁월합니다. 주요 기능은 이연 실행 IQueryable<T>입니다. 결과가 실제로 필요할 때까지 쿼리가 실행되지 않습니다. 이것은 리소스 사용량을 최적화하고 데이터 검색 속도를 높입니다
반대로 IEnumerable<T>
는 메모리 컬렉션에서 작동합니다. 를 사용한 쿼리는 즉시 실행하고 모든 일치하는 데이터를 메모리에로드합니다. 이것은 더 작은 데이터 세트에 적합하지만 대형 데이터베이스에는 비효율적 일 수 있습니다.
올바른 선택을 만드는
를 사용하십시오
IQueryable<T>
원격 데이터베이스에 액세스하고 있으며 데이터 전송을 최소화하려고합니다.
데이터는 메모리에 있습니다 (예 : 목록, 배열)
IEnumerable<T>
IEnumerable<T>
예시적인 예
예제에서 데이터베이스 쿼리는 를 반복 할 때만 실행됩니다. 그러나 필터링하기 전에 예제는 필터링하기 전에 데이터베이스의 모든 고객을 메모리에 메모리로로드하여 큰 데이터 세트로 성능 병목 현상을 일으킬 수 있습니다. 는 즉시 실행을 강제로 집행합니다
위 내용은 iqueryable vs. ienumerable : 언제 어느 것을 사용해야합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!