언어/C#

LINQ(Language Integrated Query), AsEnumerable Method

에린_1 2024. 7. 31. 09:56
728x90

AsEnumerable Method

  • LINQ 쿼리는 IEnumerable<T> 또는 IQueryable 인터페이스를 구현하는 데이터 원본에서 작동한다. DataTable 클래스는 이 인터페이스를 구현하지 않기 때문에 직접 LINQ 쿼리를 사용할 수 없다.
  • AsEnumerable 메서드를 사용하여 Datatable을 IEnumerable<T>로 변환할 수 있다. 변환된 객체는 원본 DataTable에 바인딩 된다. 따라서 AsEnumerable를 여러 번 호출해도 모두 같은 원본 DataTable에 바인딩된 독립적인 쿼리 가능한 객체를 반환한다.
  • DataTable을 LINQ 쿼리의 원본으로 사용하려면 AsEnumerable 메서드를 사용하여 IEnumerable<T>로 변환해야 한다. 이렇게 변환된 객체는 원본 DataTable에 바인딩되며, 여러번 변환해도 각각 독립적인 쿼리를 수행할 수 있다.

LINQ(Language Integrated Query)

  • C#과 같은 .NET 언어에서 데이터 소스에 대한 쿼리를 쉽게 작성하고 실행할 수 있도록 하는 기능이다. LINQ는 SQL 쿼리와 유사한 문법을 사용하여 컬렉션, XML, 데이터베이스, 객체, 그리고 기타 데이터 소스에 대해 쿼리를 작성할 수 있다.
  • LINQ의 쿼리 식과 메서드 체이닝 문법을 통해 데이터를 필터링, 투영, 정렬, 그룹화, 조인, 집계 등의 다양한 연산을 수행할 수 있다. LINQ를 통해 코드의 가독성을 높이고 복잡한 데이터 처리 로직을 간결하게 작성할 수 있다.

LINQ의 주요 구성 요소

  1. LINQ to Object
    • 메모리에 있는 객체 컬렉션(ex: 배열, 리스트)에 대해 쿼리를 수행할 수 있다.
  2. LINQ to SQL
    • SQL Server 데이터베이스에 대해 쿼리를 수행할 수 있다.
  3. LINQ to XML
    • XML 데이터에 대해 쿼리를 수행할 수 있다.
  4. LINQ TO Entities
    • Entity Framework를 사용하여 데이터베이스에 대해 쿼리를 수행할 수 있다.

기본 문법

  • LINQ 쿼리는 두 가지 문법 스타일을 지원한다.
  • 쿼리 식(Query Syntax)
    • SQL과 유사한 문법
  • 메서드 체이닝(Method Syntax)
    • 메서드 체이닝을 이용한 문법
728x90

'언어 > C#' 카테고리의 다른 글

ConcurrentDictionary<TKey, TValue>  (0) 2024.08.01
Select, Where, OrderBy, List.Find(All)  (0) 2024.07.31
ConstainsKey, AddOrUpdate 메서드, Stopwatch  (0) 2024.07.31
SocketAsyncEventArgs  (0) 2024.07.31
as/ is/ this/ base  (0) 2024.07.31