다음을 통해 공유


AdventureWorks Sales 연결(EDM)

EDM(엔터티 데이터 모델)을 기반으로 하는 프로그래밍 가능 클래스를 사용하려면 데이터에 대한 연결을 열어야 합니다. Adventure Works Sales 모델과의 연결은 공급자 연결 문자열 그리고 System.Data.EntityClient 네임스페이스의 ObjectContext를 기반으로 합니다.

App Config 파일

EDM을 사용하는 응용 프로그램에는 실행 파일의 범위에 구성 파일이 있어야 합니다. 구성 파일은 모델과 매핑을 정의하는 스키마를 식별하는 연결 문자열, 데이터베이스 관리 시스템을 식별하는 공급자 연결 문자열 및 System.Data.EntityClient 네임스페이스를 식별하는 공급자 이름을 포함합니다.

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <connectionStrings>
    <add name=" AdvWksSalesEntities" 
         connectionString="metadata=.;
         provider=System.Data.SqlClient;
         provider connection string=
         &quot;Data Source=serverName;
         Initial Catalog=AdventureWorks;
         Integrated Security=True;
         multipleactiveresultsets=true&quot;"
         providerName="System.Data.EntityClient" />
  </connectionStrings>

</configuration>

응용 프로그램 코드

다음 코드에서는 이름이 AdventureWorksEntitiesObjectContext에 대한 연결을 여는 방법을 보여 줍니다. 응용 프로그램 구성 파일이 범위 내에 있으면 다음과 같은 한 줄의 코드로 연결을 열 수 있습니다. AdventureWorksEntities db = new AdventureWorksEntities().

ObjectContext는 응용 프로그램에 사용되는 데이터 컬렉션에 대한 액세스를 제공합니다. 다음 예제에서는 먼저 ObjectContextContact 형식의 모든 인스턴스를 엽니다. 그런 다음, SalesOrderHeader의 인스턴스를 열거하고 SalesOrderHeaderAddress 간의 연결을 기반으로 한 탐색 속성을 사용하여 주소를 찾아 한 줄로 표시합니다.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using AdvWrksSalesModel;

namespace AdvWrksSalesClient
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                using (AdvWksSalesEntities db =
                                     new AdvWksSalesEntities ())
                {
                    foreach (Contact c in db.Contact)
                        Console.WriteLine("{0}, {1}",
                                 c.LastName, c.FirstName);


                    foreach (SalesOrderHeader soHeader in 
                                          db.SalesOrderHeader)
                    {
                        soHeader.Address1Reference.Load();
                    Console.WriteLine(soHeader.Address1.AddressLine1);

                    }

                }
            }
            catch (System.Data.EntityCommandExecutionException e)
            {
                Console.WriteLine(e.ToString());
            }
        }
    }
}

참고 항목

개념

AdventureWorks Sales 개념 스키마(EDM)
AdventureWorks Sales 저장소 스키마(EDM)
AdventureWorks Sales 매핑 스키마(EDM)