다음을 통해 공유


LINQ to SQL 쿼리

업데이트: November 2007

LINQ에서 동일한 구문을 사용하여 LINQ to SQL 쿼리를 정의합니다. 유일한 차이점은 쿼리에서 참조된 개체가 데이터베이스의 요소에 매핑된다는 것입니다. 자세한 내용은 LINQ 쿼리 소개를 참조하십시오.

LINQ to SQL에서는 작성한 쿼리를 해당 SQL 쿼리로 변환하고 SQL Server에 전달하여 처리합니다. 다시 말해서 응용 프로그램에서는 LINQ to SQL API를 사용하여 쿼리 실행을 요청합니다. LINQ to SQL 공급자는 쿼리를 SQL 텍스트로 변환하고 ADO 공급자에게 실행을 위임합니다. ADO 공급자는 DataReader의 결과로 쿼리를 반환합니다. LINQ to SQL 공급자는 ADO 결과를 사용자 개체의 IQueryable 컬렉션으로 변환합니다.

다음 예제에서는 일반 흐름을 보여 줍니다.

쿼리 실행 다이어그램

LINQ to SQL 쿼리

참고:

.NET Framework 기본 제공 형식에서 대부분의 메서드와 연산자는 SQL로 직접 변환됩니다. LINQ에서 변환할 수 없는 일부는 런타임 예외를 발생시킵니다. 자세한 내용은 SQL-CLR 형식 매핑(LINQ to SQL)를 참조하십시오.

다음 테이블에서는 LINQ와 LINQ to SQL 쿼리 항목의 유사점과 차이점에 대해 설명합니다.

항목

LINQ 쿼리

LINQ to SQL 쿼리

시퀀스를 반환하는 쿼리에 대한 쿼리를 보관하는 지역 변수의 반환 형식

제네릭 IEnumerable

제네릭 IQueryable

데이터 소스 지정

From (Visual Basic) 또는 from(C#) 절을 사용합니다.

왼쪽과 같음

필터링

Where/where 절을 사용합니다.

왼쪽과 같음

그룹화

Group¡¦By/groupby 절을 사용합니다.

왼쪽과 같음

선택(프로젝팅)

Select/select 절을 사용합니다.

왼쪽과 같음

지연된 실행과 즉시 실행 비교

LINQ 쿼리 소개를 참조하십시오.

왼쪽과 같음

조인 구현

Join/join 절을 사용합니다.

Join/join 절을 사용할 수 있으나 AssociationAttribute 속성이 보다 효율적으로 사용됩니다. 자세한 내용은 관계 간 쿼리(LINQ to SQL)를 참조하십시오.

원격 실행과 로컬 실행 비교

 

자세한 내용은 원격 쿼리 실행과 로컬 쿼리 실행 비교(LINQ to SQL)를 참조하십시오.

스트리밍 쿼리와 캐시된 쿼리 비교

지역 메모리 시나리오에서는 사용할 수 없습니다.

 

참고 항목

개념

LINQ 쿼리 소개

기본 쿼리 작업(LINQ)

쿼리 작업의 형식 관계(LINQ)

기타 리소스

LINQ to SQL의 쿼리 개념