C#에서 IEnumerable과 IQueryable의 차이점은 무엇입니까?

王林
풀어 주다: 2023-09-03 19:57:08
앞으로
894명이 탐색했습니다.

C# 中 IEnumerable 和 IQueryable 有什么区别?

  • IEnumerable은 System.Collections 네임스페이스에 있습니다.
  • IQueryable이 시스템에 존재합니다. Linq 네임스페이스.
  • IEnumerable과 IQueryable은 모두 정방향 컬렉션입니다.
  • IEnumerable은 지연 로딩을 지원하지 않습니다.
  • IQueryable은 지연 로딩을 지원합니다.
  • 데이터베이스에서 데이터를 쿼리할 때 IEnumerable은 서버 측에서 선택 쿼리를 수행하고 클라이언트 측 메모리에 데이터를 로드한 다음 데이터를 필터링합니다.
  • 데이터베이스에서 데이터를 쿼리하기 위해 IQueryable은 모든 필터를 사용하여 서버 측 선택 쿼리를 수행합니다.
  • IE수많은 확장 메서드는 함수 개체를 사용합니다.
  • IQueryable 확장 메서드는 표현식 트리를 의미하는 표현식 개체를 사용합니다.

Example

IEnumerable

dbContext dc = new dbContext ();
IEnumerable
<SocialMedia>
list = dc.SocialMedias.Where(p => p.Name.StartsWith("T"));
list = list.Take<SocialMedia>(1);
</SocialMedia>
로그인 후 복사

위 쿼리에 대해 생성된 SQL 문

SELECT [t0].[ID], [t0].[Name] FROM [SocialMedia] AS [t0]
WHERE [t0].[Name] LIKE @p0
로그인 후 복사

Queryable

dbContext dc = new dbContext ();
IQueryable<SocialMedia> list = dc.SocialMedias.Where(p => p.Name.StartsWith("T"));
list = list.Take<SocialMedia>(1);
로그인 후 복사

위 쿼리에 대해 생성된 SQL 문

SELECT top 1 [t0].[ID], [t0].[Name] FROM [SocialMedia] AS [t0]
WHERE [t0].[Name] LIKE @p0
로그인 후 복사

위 내용은 C#에서 IEnumerable과 IQueryable의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:tutorialspoint.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿