다음을 통해 공유


방법: 별개의 테이블에 매핑된 엔터티 쿼리

개념적 모델에서 레거시 데이터를 사용하는 경우 단일 엔터티를 데이터베이스의 두 테이블에 매핑하는 기능이 유용할 수 있습니다. 이 기능은 SQL Server 2005에 포함되어 있는 AdventureWorks 샘플 데이터베이스의 CustomerStore 테이블과 마찬가지로 두 테이블이 공통 키를 공유하고 있는 경우에 사용할 수 있습니다.

이 항목의 예제 코드에서는 방법: 두 테이블에 매핑된 단일 엔터티를 사용하여 모델 정의 항목에서 정의한 개념적 모델을 사용합니다. 두 테이블에 매핑된 엔터티에 대해 개체 쿼리를 실행하는 방법은 다른 엔터티를 쿼리하는 방법과 동일합니다. 매핑은 코드 구문에 영향을 미치지 않습니다.

별개의 테이블에 매핑된 엔터티를 사용하여 프로젝트를 만들려면

  1. 콘솔 응용 프로그램을 만듭니다.

  2. 방법: 두 테이블에 매핑된 단일 엔터티를 사용하여 모델 정의에서 정의한 개념적 모델에 대한 참조를 추가합니다.

  3. System.Data.EntitySystem.Runtime.Serialization에 대한 참조를 추가합니다.

  4. 방법: 두 테이블에 매핑된 단일 엔터티를 사용하여 모델 정의에서 구현한 AdventureWorksModel에 대한 전처리기 지시문을 추가합니다.

예제

이 예제에서 별도의 테이블에 매핑된 엔터티는 foreach 루프에서 결과를 열거하는 데 사용할 수 있습니다. 다음 코드에서는 Store 엔터티 매핑에 사용된 두 테이블의 속성을 보여 줍니다.

Option Explicit On
Option Strict On
Imports System
Imports System.Collections.Generic
Imports System.Linq
Imports System.Text
Imports StoreCustomer_VB.AdventureWorksModel

Module Module1
    Sub Main()
        Using objCtx As AdventureWorksEntities =
                        New AdventureWorksEntities()
            For Each store As Store In objCtx.Store
                Console.WriteLine("CustomerId: {0} Name: {1} " & vbNewLine _
                    & vbTab & "Account#: {2} SalespersonId: {3}", _
                    store.CustomerID, store.Name, store.AccountNumber, store.SalesPersonID)
                Console.Write(vbNewLine)
            Next
        End Using
    End Sub
End Module
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using AdventureWorksModel;

namespace ClientStoreCustomerSplit
{
    class Program
    {
        static void Main(string[] args)
        {
            using (AdventureWorksEntities objCtx = new AdventureWorksEntities())
            {
                foreach (Store store in objCtx.Store)
                    Console.WriteLine("CustomerId: {0} Name: {1} \r\n\t" +
                    "Account#: {2} SalespersonId: {3}",
                        store.CustomerID, store.Name, 
                        store.AccountNumber, store.SalesPersonID );
            }
        }
    }
}

참고 항목

작업

방법: 두 테이블에 매핑된 단일 엔터티를 사용하여 모델 정의