쿼리사용하기

클래스가 쿼리 가능한 데이터 소스를 나타내는 경우 이 인터페이스를 구현한다.

인터페이스에는 IQueryableProvider를 반환해야 하는 Provider 속성과 쿼리를 나타내는 식

트리를 반환해야 하는 Expression 속성의 구현이 필요하다.

public class MyQueryable<T> : IQueryable<T>
{
    private IQueryable<T> queryableData;

    public MyQueryable(IQueryable<T> queryableData)
    {
        this.queryableData = queryableData;
    }

    public Type ElementType => queryableData.ElementType;

    public Expression Expression => queryableData.Expression;

    public IQueryProvider Provider => queryableData.Provider;
}

이 예제에서 MyQueryable<T> 클래스는 IQueryable 인터페이스를 구현하여 쿼리 가능한 데이터 소스

를 나타냅니다.

Provider 속성은 IQueryableProvider를 반환하고 Expression 속성은 쿼리를 나타내는 식 트리를

반환합니다.