다음을 통해 공유


Visual Basic Express에서 LINQ 사용

업데이트: 2007년 11월

응용 프로그램은 SQL 데이터베이스나 XML 문서의 데이터를 사용합니다. 개발자는 이 데이터를 사용하기 위해 SQL 또는 XQuery와 같은 보조 언어를 배워야 했습니다. LINQ(통합 언어 쿼리)는 Visual Basic 언어 자체에 쿼리 기능을 제공하므로 개발자가 완전히 다른 쿼리 언어를 배울 필요가 없습니다. 이제 Visual Basic에 대한 기존 지식과 함께 몇 가지 추가 키워드 및 개념을 사용하여 SQL 데이터베이스, ADO.NET 데이터 집합, XML 문서 및 IEnumerable 인터페이스를 구현하는 모든 .NET Framework 컬렉션 클래스를 쿼리할 수 있습니다.

LINQ 사용의 이점

  • 쿼리 작성을 위한 친숙한 구문

  • 구문 오류 및 형식 안전성에 대한 컴파일 타임 검사

  • 향상된 디버거 지원

  • IntelliSense 지원

  • W3C DOM(문서 개체 모델)에서 요구되는 컨테이너 XML 문서를 만드는 대신 XML 요소를 직접 사용할 수 있는 기능

  • 강력하지만 XPath 또는 XQuery보다 간편한 메모리 내 XML 문서 수정

  • 강력한 필터링, 순서 지정 및 그룹화 기능

  • 다양한 종류의 데이터 소스 및 형식의 데이터를 사용하기 위한 일관된 모델

LINQ 쿼리 작성

ADO.NET 데이터 집합, SQL 데이터베이스, .NET Framework 컬렉션 또는 XML 문서를 사용할 때 LINQ 쿼리의 기본 구조는 동일합니다. 쿼리 식은 From 절로 시작하며 그 뒤에 Where 및 Select와 같은 쿼리 절이 옵니다. 완성된 식은 횟수에 상관없이 실행하거나 수정할 수 있는 쿼리 변수에 저장됩니다. 쿼리 식 구문은 SQL의 구문과 비슷합니다. 예를 들어 다음 구문을 사용하여 과학을 전공하는 학생 데이터베이스의 모든 학생을 반환하는 LINQ 쿼리를 작성할 수 있습니다.

Dim StudentQuery = From student in studentApp.students 
    Where student.Major = "Science" _
    Select student

자세한 내용은 쿼리(Visual Basic)LINQ 쿼리 처음 작성(Visual Basic)을 참조하십시오.

LINQ 쿼리에는 데이터 소스를 가져오고 쿼리 식을 정의한 다음 쿼리를 실행하는 세 개의 기본 단계가 있습니다. 자세한 내용은 LINQ 쿼리 처음 작성(Visual Basic)를 참조하십시오.

LINQ to Objects

LINQ to Objects는 IEnumerable을 지원하는 메모리 내 데이터 구조를 쿼리하기 위해 LINQ를 사용하는 것을 말합니다. 자세한 내용은 LINQ to Objects를 참조하십시오.

LINQ to SQL

LINQ to SQL을 사용하면 O/R 디자이너를 사용해 만든 강력한 형식의 개체 계층을 통해 SQL Server 및 SQL Server Express 데이터베이스에 액세스할 수 있습니다.

O/R 디자이너를 사용하여 LINQ to SQL 클래스를 데이터베이스의 테이블에 매핑한 다음 LINQ 쿼리를 작성하여 데이터를 응용 프로그램의 컨트롤에 바인딩할 수 있습니다. 예를 들어 다음 LINQ 쿼리는 LINQ 쿼리의 결과(미국의 모든 고객)를 DataGridView 컨트롤의 바인딩 소스에 바인딩합니다.

Dim CustomersQuery = From customers in NorthwindSampleDataContext1.Customers _
    Where customers.Country = "US" _
    Select customers

CustomerBindingSource.DataSource = CustomersQuery

자세한 내용은 LINQ to SQL, O/R 디자이너 개요, LINQ to SQL 클래스 만들기: O/R 디자이너 사용LINQ를 사용하여 컨트롤에 데이터 바인딩를 참조하십시오.

참고:

O/R 디자이너에서는 현재 SQL Server Compact 3.5 데이터베이스를 지원하지 않습니다. SQL Server Express 버전을 얻는 방법에 대한 자세한 내용은 방법: 샘플 데이터베이스 설치에서 SQL Server Express 버전 얻기 단원을 참조하십시오.

LINQ to DataSet

DataSet은 응용 프로그램의 컨트롤에 데이터를 바인딩하는 데 사용됩니다. 데이터베이스에 직접 연결하는 대신에 DataSet을 사용하여 응용 프로그램과 함께 사용될 여러 데이터 소스의 하위 집합을 포함할 수 있는 데이터의 오프라인 캐시를 만들 수 있습니다. 응용 프로그램이 온라인 상태가 되면 데이터베이스를 DataSet의 변경 내용으로 업데이트할 수 있습니다.

DataSet에 사용할 수 있는 필터링 및 정렬 메서드 대신에 LINQ to DataSet을 사용하면 캐시된 데이터를 더 빠르고 쉽게 쿼리할 수 있습니다. 자세한 내용은 LINQ to DataSet을 참조하십시오.

LINQ to XML

LINQ to XML을 사용하면 XPath나 XQuery를 모르더라도 LINQ 쿼리 식을 사용하여 손쉽게 XML 문서를 만들고 수정할 수 있습니다. LINQ to XML은 W3C DOM 대신 최신 프로그래밍 구문을 사용하는 새로운 XML용 메모리 내 API입니다. 자세한 내용은 Visual Basic의 LINQ to XML 개요, 코드에 XML을 직접 포함: XML 리터럴 사용Visual Basic의 언어 통합 축(LINQ to XML)을 참조하십시오.

참고 항목

개념

시작(LINQ to SQL)

기타 리소스

Visual Basic에서 LINQ 시작

시작(LINQ to DataSet)

시작(LINQ to XML)