내보내기(0) 인쇄
모두 확장

방법: ADO.NET Entity Framework를 사용하여 Azure SQL 데이터베이스에 연결

업데이트 날짜: 2014년 11월

개발자는 ADO.NET Entity Framework을 사용하여 관계형 저장소 스키마에 대해 직접 프로그래밍하는 대신 개념 응용 프로그램 모델에 대해 프로그래밍하여 데이터 액세스 응용 프로그램을 만들 수 있습니다.

이 항목에서는 Microsoft Azure SQL 데이터베이스에 매핑된 간단한 개념 모델을 만들고 개념 모델에 대해 쿼리하는 방법을 보여 줍니다. 다음 Visual C#/Visual Basic 예제에서는 School 모델에서 엔터티 및 연결을 나타내는 CLR 개체에 대해 강력한 형식의 쿼리를 만듭니다. 이 쿼리는 School 모델의 부서 이름을 반환합니다.

이 예제를 따라 진행하려면 Entity Framework를 설치해야 하며 서버에서 샘플 School 데이터베이스를 만들어야 합니다. 샘플 School 데이터베이스를 만들려면 Microsoft Azure SQL 데이터베이스 시작을 참조하여 1~8단계를 완료합니다.

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

  2. 새 프로젝트 대화 상자의 설치된 템플릿 목록에서 Visual Basic 또는 Visual C#을 선택한 다음 콘솔 응용 프로그램을 선택합니다. SchoolApplicationEF이름으로 입력한 다음 확인을 클릭합니다.

  3. 솔루션 탐색기에서 SchoolApplicationEF를 마우스 오른쪽 단추로 클릭하고 추가를 가리킨 다음 새 항목을 선택합니다.

  4. ADO.NET 엔터티 데이터 모델을 선택하고 SchoolDataModel.edmx이름으로 입력한 다음 추가를 클릭합니다.

  5. 엔터티 데이터 모델 마법사에서 데이터베이스의 EF 디자이너를 선택하고 다음을 클릭합니다.

  6. 새 연결을 클릭하고 데이터 소스 선택 대화 상자에서 Microsoft SQL Server를 선택한 후에 계속을 클릭합니다.

  7. 연결 속성 대화 상자에서 서버의 정규화된 이름을 서버 이름 상자에 입력합니다. 예를 들어, z8ue9o20al.database.windows.net과 같이 입력합니다.

  8. 서버에 로그온 상자에서 SQL Server 인증 사용을 선택하고 데이터베이스 관리자의 자격 증명을 입력합니다. 예를 들어, tester 또는 tester@ z8ue9o20al.database.windows.net과 같이 입력합니다.

  9. 연결 테스트 단추를 클릭하여 로그온 정보의 유효성을 검사합니다.

  10. 데이터베이스에 연결 상자에서 데이터베이스 이름 선택 또는 입력을 선택하고 목록에서 School 데이터베이스를 선택합니다. 확인을 클릭합니다.

  11. 엔터티 데이터 모델 마법사에서 아니요, 중요한 데이터를 연결 문자열에서 제외합니다. 이 정보는 내 응용 프로그램 코드에 설정합니다. 다음을 클릭합니다.

  12. Entity Framework의 최신 버전을 선택하고 다음을 클릭합니다.

  13. 테이블을 선택하고 마침을 클릭합니다. 데이터베이스의 각 테이블에 대해 엔터티 형식을 정의하는 .edmx 파일이 생성됩니다.

  14. SchoolDataModel.edmx 파일을 저장합니다.

    note참고
    Visual Studio 2008에서 이 예제를 실행하면 Entity Framework는 Azure SQL 데이터베이스에서 .edmx 파일 및 관련 클라이언트 클래스를 만들 수 없으며 모델 및 매핑 파일 생성을 위해 SQL Server의 로컬 인스턴스에 연결해야 합니다. 하지만 모델 및 매핑 파일이 생성되면 Entity Framework가 Microsoft Azure SQL 데이터베이스에 연결됩니다. 또한 Visual Studio 2008에는 생성된 개체 이름을 복수화 또는 단수화 확인란이 없습니다. 따라서 다음 코드 예제에서 DepartmentsDepartment로, CoursesCourse로 업데이트해야 합니다.

  1. 프로그램 파일의 코드를 다음 코드로 바꿉니다.

    using System; using System.Collections.Generic; using System.Linq; using System.Text;  namespace SchoolApplicationEF { class Program {     private static SchoolEntities schoolContext;   static void Main(string[] args)     {         //Initialize the ObjectContext         using (schoolContext = new SchoolEntities())         {              // Define a query that returns all People             // objects ordered by last name.             var personQuery = from p in schoolContext.People.Include("Courses")                               orderby p.LastName                               select p;              Console.WriteLine("List of people: ");              try             {                     foreach (Person per in personQuery)                         Console.WriteLine("{0} {1}", per.FirstName, per.LastName);              }             catch (Exception ex)             {                     Console.WriteLine("An error occurred: " + ex.Message);             }         }          Console.WriteLine("Hit enter...");         Console.Read();       } } } 
    

  1. SchoolEFApplication 프로젝트에서 App.Config 파일을 엽니다. Azure SQL 데이터베이스에 연결되도록 연결 문자열을 변경합니다.

    <connectionStrings>     <add name="SchoolEntities" connectionString="metadata=res://*/SchoolDataModel.csdl|res://*/SchoolDataModel.ssdl|res://*/SchoolDataModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=<provideServerName>.database.windows.net;Initial Catalog=School;Integrated Security=False;User ID=<provideUserID>;Password=<providePassword>;MultipleActiveResultSets=True;Encrypt=True;TrustServerCertificate=False&quot;" providerName="System.Data.EntityClient"/> </connectionStrings>
    
  2. F5 키를 눌러 Azure SQL 데이터베이스에 대해 응용 프로그램을 실행합니다. 콘솔 창에 School 데이터베이스의 모든 사용자 이름이 표시됩니다.

참고 항목

표시:
© 2015 Microsoft