이 설명서는 보관되지만 유지 되지 않습니다.

모델 및 매핑 생성

Entity Framework 응용 프로그램 및 서비스는 세 가지 XML 기반 언어로 표현된 모델 및 매핑 정보를 기반으로 합니다.

CSDL은 응용 프로그램 데이터를 개념적 모델에서 엔터티와 관계의 집합으로 나타내며 엔터티 데이터 모델의 구현입니다. 저장소 모델은 SSDL로 표현되며 데이터 저장소의 스키마를 나타냅니다. 두 모델 간의 매핑은 MSL로 표현됩니다.

응용 프로그램의 CSDL, SSDL 및 MSL 콘텐츠는 ADO.NET Entity Data Model Tools를 통해 자동으로 생성할 수 있습니다. Entity Data Model Wizard는 기존 데이터베이스의 데이터 클래스뿐만 아니라 모델 및 매핑 정보도 생성합니다. 이때 Entity Data Model Designer(Entity Designer)를 사용하여 모델 및 매핑 정보를 그래픽으로 수정할 수 있습니다. 또는 Entity Designer를 사용하여 개념적 모델을 그래픽으로 만든 다음 Generate Database Wizard를 사용하여 개념적 모델을 지원하는 저장소 모델, 매핑, 데이터 클래스 및 데이터베이스를 자동으로 생성할 수 있습니다. 두 경우 모두 Update Model Wizard를 사용하여 기본 데이터베이스가 변경될 때 모델 및 매핑 정보를 업데이트할 수 있습니다.

EDM 생성기(EdmGen.exe)는 엔터티와 데이터 원본 테이블 간의 일대일 매핑을 통해 간단한 개념적 모델을 생성할 수 있도록 하는 명령줄 도구입니다. 또한 EdmGen.exe를 사용하여 개념적 모델의 유효성을 검사하고 개념적 모델의 엔터티 형식을 기반으로 하는 데이터 클래스를 생성할 수 있습니다. EdmGen.exe는 버전 3.5 서비스 팩 1(SP1)부터 .NET Framework에 포함된 Entity Framework 런타임 구성 요소의 일부입니다.

고려 사항

엔터티 데이터 모델 도구를 사용하여 기존 데이터베이스에서 개념적 모델을 생성하는 경우 다음 사항을 고려해야 합니다.

  • 모든 엔터티에 키가 있어야 합니다. 데이터베이스에 기본 키가 없는 테이블이 있는 경우 엔터티 데이터 모델 도구에서 해당 엔터티의 키를 유추합니다. 뿐만 아니라 엔터티 데이터 모델 도구는 이 엔터티의 데이터를 읽기 전용으로 만드는 DefiningQuery 요소를 저장소 스키마에 생성합니다. 엔터티 데이터를 업데이트 가능하게 만들려면 생성된 키가 유효한 키인지 확인한 후 DefiningQuery 요소를 제거해야 합니다.

  • 외래 키만 포함된 테이블(Pure Join Table이라고도 함)이 데이터베이스에 있는 두 테이블 간의 다대다 관계를 나타내는 경우 이 테이블에 해당하는 엔터티가 개념적 모델에 생성되지 않습니다. 이러한 테이블이 엔터티 데이터 모델 도구를 통해 발견되면 개념적 모델에서 엔터티 대신 다대다 연결로 표현됩니다. School 모델의 CourseInstructor 연결이 이 동작의 예입니다. 자세한 내용은 School .edmx 파일 생성(Entity Framework 퀵 스타트)을 참조하십시오.

School 모델

시작(Entity Framework) 단원의 항목에서는 School이라는 샘플 데이터베이스를 참조합니다. SQL Server의 인스턴스에서 School 데이터베이스를 생성하는 스크립트는 School 샘플 데이터베이스 만들기(Entity Framework 퀵 스타트)를 참조하십시오.

School 데이터베이스에는 다음 테이블이 포함되어 있습니다.

  • Course

  • StudentGrade

  • CourseInstructor

  • Department

  • OfficeAssignment

  • OnlineCourse

  • OnsiteCourse

  • Person

이 샘플 데이터베이스에서는 엔터티 데이터 모델 도구에서 지원되는 다수의 복합 모델링 시나리오를 강조합니다. 스크립트에서는 테이블 간의 관계를 생성하며 샘플 실행을 통해 작동 방식을 확인할 수 있도록 샘플 데이터를 삽입합니다. 다음은 ADO.NET 엔터티 데이터 모델 디자이너에 표시되는 School 모델을 보여 줍니다.

Entity Designer의 School EDM

참고 항목

표시: