Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C#의 AsQueryable() 메서드 완벽 정리 – 사용법과 예제

C# AsQueryable() 메서드란?

AsQueryable() 메서드는 IQueryable 참조를 얻기 위해 사용됩니다. 배열이나 List 같은 인메모리 컬렉션을 IQueryable 형태로 변환하면, LINQ의 Queryable 연산자를 활용할 수 있게 됩니다.

특히 IQueryable은 식 트리(expression tree)를 기반으로 동작하기 때문에, Entity Framework처럼 쿼리 공급자가 있는 환경에서는 쿼리가 SQL 등으로 번역되어 실행됩니다. 이를 통해 불필요한 데이터 로딩을 줄이고 성능을 최적화할 수 있습니다.

예제: 정수 배열의 합 구하기

간단한 예제를 통해 AsQueryable()의 사용법을 살펴보겠습니다. 여기서는 정수 값들의 합을 구해 보겠습니다.

먼저 정수 배열을 선언합니다.

var arr = new int[] { 100, 200, 300, 400 };

이제 합계를 구하기 위해 Queryable.Sum() 메서드와 AsQueryable() 메서드를 함께 사용합니다.

int res = Queryable.Sum(arr.AsQueryable());

전체 코드

using System;
using System.Linq;
class Demo {
    static void Main() {
        var arr = new int[] { 100, 200, 300, 400 };
        int res = Queryable.Sum(arr.AsQueryable());
        Console.WriteLine("Sum: " + res);
    }
}

실행 결과

Sum: 1000

정리

AsQueryable()은 배열이나 컬렉션을 IQueryable 타입으로 변환하여 Sum(), Where(), Select() 같은 Queryable 연산자를 사용할 수 있게 해주는 확장 메서드입니다. 단순한 인메모리 연산에서는 IEnumerable과 차이가 크지 않지만, 데이터베이스 쿼리로 변환되어야 하는 상황에서는 반드시 필요한 메서드이므로 그 역할과 용도를 잘 이해해 두는 것이 좋습니다.