다음을 통해 공유


연습: Adventure Works Sales 모델 및 쿼리 만들기(Visual Basic)

이 연습에서는 복잡성을 최소로 한 기본 종단 간 LINQ to Entities 시나리오에 대해 설명합니다. 여기서는 샘플 AdventureWorks 데이터베이스의 Address, Contact, Product, SalesOrderHeader, SalesOrderDetail 테이블을 기반으로 하는 엔터티 및 연결을 포함한 AdventureWorks Sales 모델을 만듭니다. 그런 다음 AdventureWorks 재고의 빨간색 제품을 모두 나열하는 단순 쿼리를 작성합니다.

필수 구성 요소

이 연습에서는 AdventureWorks 샘플 데이터베이스가 필요합니다. 사용하는 개발 컴퓨터에 이 데이터베이스가 없는 경우 CodePlex 사이트의 Microsoft SQL Server Community & Samples 페이지에서 다운로드할 수 있습니다.

개요

이 연습은 다음과 같은 4가지 주 작업으로 구성됩니다.

  • Visual Studio 2008에 LINQ to Entities 솔루션 만들기

  • AdventureWorks Sales 모델 만들기

  • Sales 모델에 대해 실행할 단순 쿼리 작성

  • 쿼리 실행 및 결과 검토

LINQ to Entities 솔루션 만들기

첫 번째 작업으로, LINQ to Entities 프로젝트를 빌드하고 실행하는 데 필요한 참조를 포함한 Visual Studio 솔루션을 만듭니다.

Visual Basic LINQ to Entities 솔루션을 만들려면

  1. Visual Studio 파일 메뉴에서 새로 만들기를 가리킨 다음 프로젝트를 클릭합니다.

  2. 새 프로젝트 대화 상자의 프로젝트 형식 창에서 Visual Basic을 클릭합니다.

  3. 드롭다운 메뉴에서 .NET Framework 3.5를 선택합니다.

  4. 템플릿 창에서 콘솔 응용 프로그램을 클릭합니다.

  5. 이름 상자에 LinqToEntitiesConsoleApp를 입력합니다.

  6. 위치 상자에서 프로젝트 파일의 위치를 선택한 다음 확인을 클릭합니다.

  7. 프로젝트 메뉴에서 참조 추가, .NET 탭을 차례로 클릭한 다음 System.Data.Entity 어셈블리를 클릭하고 확인을 클릭합니다.

  8. System.Data.Objects 네임스페이스에 대한 using 지시문을 소스 코드 파일에 추가합니다.

AdventureWorks Sales 모델 만들기

이 작업에서는 엔터티 데이터 모델 마법사를 사용하여 AdventureWorks Sales 모델을 만들고 해당 모델을 프로젝트에서 참조합니다.

AdventureWorks Sales 모델을 만들고 참조하려면

  1. 프로젝트 메뉴에서 새 항목 추가를 클릭합니다.

  2. 새 항목 추가 대화 상자의 템플릿 창에서 ADO.NET 엔터티 데이터 모델을 선택합니다. 모델 이름을 AdventureWorksSalesModel로 지정하고 추가를 클릭합니다.

  3. Model 콘텐츠 선택 대화 상자에서 데이터베이스에서 생성을 선택한 후 다음을 클릭합니다.

  4. 데이터 연결 선택 창의 목록에서 기존 AdventureWorks 연결을 선택하거나 AdventureWorks 샘플 데이터베이스가 있는 SQL Server의 인스턴스에 대한 새 연결을 설정합니다.

  5. App.Config의 entity 연결 설정을 AdventureWorksEntities로 저장한 후 다음을 클릭합니다.

  6. 데이터베이스 개체 선택 대화 상자에서 모든 개체의 선택을 취소하고 테이블을 확장한 후 다음 테이블 개체를 선택합니다.

    • Address (Person)

    • Contact (Person)

    • Product (Production)

    • SalesOrderDetail (Sales)

    • SalesOrderHeader (Sales)

  7. 모델 네임스페이스 이름을 AdventureSalesWorksModel로 지정한 다음 마침을 클릭합니다.

  8. 모델 브라우저 뷰에 AdventureWorks Sales 모델의 엔터티가 표시됩니다. 저장 단추를 클릭하고 Module1.vb 탭을 선택하여 소스 코드로 다시 이동합니다.

  9. AdventureWorksSalesModel에 대한 Imports 문을 소스 파일에 추가합니다.

단순 쿼리 작성

이 단계에서는 AdventureWorks 재고의 빨간색 제품을 찾는 단순 쿼리를 작성합니다. 값 시퀀스를 반환하도록 설계된 쿼리의 경우에는 쿼리 변수가 쿼리 명령을 저장하기만 합니다. 실제 쿼리 실행은 For Each 루프에서 쿼리 변수가 반복될 때까지 지연됩니다. 이런 접근법을 지연된 실행이라고 합니다. 자세한 내용은 쿼리 실행을 참조하십시오.

단순 쿼리를 작성하려면

  • 다음 코드를 Main 메서드에 입력하거나 붙여넣습니다.
Using AWEntities As New AdventureWorksEntities()
    Dim products = AWEntities.Product

    Dim query = From product In products _
            Where product.Color = "Red" _
            Select product

    For Each product As Product In query
        Console.WriteLine("Name: {0}", product.Name)
        Console.WriteLine("Product number: {0}", product.ProductNumber)
        Console.WriteLine("List price: ${0}", product.ListPrice)
        Console.WriteLine("")
    Next
End Using

' Prevent the console window from closing.
Console.WriteLine("Hit Enter...")
Console.Read()

쿼리 실행

이 단계에서는 실제로 쿼리를 실행합니다. 이전 단계에서 작성한 쿼리 식은 결과가 필요하기 전까지는 계산되지 않습니다. For Each 반복을 시작하면 AdventureWorks Sales 모델에 대해 쿼리가 실행되어 결과가 구체화됩니다.

쿼리를 실행하려면

  1. F5 키를 눌러 응용 프로그램을 디버그 모드에서 실행합니다.

  2. 콘솔 창에 쿼리 결과가 나타납니다.

  3. 콘솔 창에서 Enter 키를 눌러 응용 프로그램을 닫습니다.

참고 항목

작업

방법: 엔터티 데이터 모델 마법사 사용(Entity Framework)

개념

LINQ to Entities 개요