엔터티 데이터 모델 매핑 시나리오(응용 프로그램 시나리오)

Entity Framework는 EDM(엔터티 데이터 모델)에서 개념적 모델을 관계형 데이터에 매핑하는 다양한 방법을 지원합니다. 자세한 내용은 Entity Framework의 데이터 모델링을 참조하십시오.

현재 Entity Framework에서 지원되는 EDM(엔터티 데이터 모델) 매핑 시나리오는 다음과 같습니다.

매핑 시나리오 설명

단순 매핑

이 매핑 시나리오에서 개념적 모델의 각 엔터티는 저장소 모델의 단일 테이블에 매핑됩니다. 이 매핑은 엔터티 데이터 모델 도구에서 생성되는 기본 매핑입니다. 자세한 내용은 퀵 스타트(Entity Framework)를 참조하십시오.

엔터티 분할

이 매핑 시나리오에서 개념적 모델에 있는 단일 엔터티의 속성은 둘 이상 기본 테이블의 열에 매핑됩니다. 이 시나리오에서 테이블은 일반 기본 키를 공유해야 합니다. 자세한 내용은 방법: 두 테이블에 매핑된 단일 엔터티를 사용하여 모델 정의를 참조하십시오.

저장소 모델의 수평 분할

이 매핑 시나리오에서 개념적 모델의 단일 엔터티 형식은 스키마가 같은 둘 이상의 테이블에 매핑됩니다. 엔터티는 개념적 모델에 정의된 조건을 기반으로 테이블에 매핑됩니다. 예를 들어 AdventureWorks Sales 모델에 있는 SalesOrderHeader 엔터티의 부울 OnlineOrderFlag 속성을 사용하여 엔터티 데이터를 데이터 소스의 개별 테이블(온라인 주문 테이블 및 오프라인 주문 테이블)에 분할할 수 있습니다. 자세한 내용은 Condition 요소(MappingFragment)를 참조하십시오.

개념적 모델의 수평 분할

이 매핑 시나리오에서 동일한 속성을 가진 개념적 모델의 여러 엔터티 형식은 단일 테이블에 매핑됩니다. 조건 절은 각 엔터티 형식에 속하는 테이블의 데이터를 지정하는 데 사용됩니다. 이 매핑은 계층당 하나의 테이블 상속 매핑과 유사합니다.

계층당 하나의 테이블 상속

이 매핑 시나리오에서 상속 계층 구조의 모든 형식은 단일 테이블에 매핑됩니다. 조건 절은 엔터티 형식을 정의하는 데 사용됩니다. 자세한 내용은 방법: 계층당 하나의 테이블 상속을 사용하여 모델 정의(Entity Framework)를 참조하십시오.

형식당 하나의 테이블 상속

이 매핑 시나리오에서 모든 형식은 개별 테이블에 매핑됩니다. 기본 형식 또는 파생 형식에만 속하는 속성은 해당 형식에 매핑되는 테이블에 저장됩니다. 자세한 내용은 방법: 형식당 하나의 테이블 상속을 사용하여 모델 정의(Entity Framework)를 참조하십시오.

구체적인 형식당 하나의 테이블 상속

이 매핑 시나리오에서 추상 형식이 아닌 각 형식은 개별 테이블에 매핑됩니다. 각 테이블에는 기본 형식에서 상속된 속성을 비롯한 파생 형식의 모든 속성에 매핑되는 열이 있어야 합니다.

형식별 다중 엔터티 집합

이 매핑 시나리오에서 단일 엔터티 형식은 개념적 모델에 있는 둘 이상의 개별 엔터티 집합에 표시됩니다. 각 엔터티 집합은 저장소 모델의 개별 테이블에 매핑됩니다. 자세한 내용은 방법: 유형별 다중 엔터티 집합으로 모델 정의(Entity Framework)를 참조하십시오.

복합 형식

복합 형식은 키 속성이 없는 엔터티 형식의 스칼라가 아닌 속성입니다. 복합 형식에는 다른 중첩된 복합 형식이 포함될 수 있습니다. 복합 형식은 저장소 모델의 테이블에 매핑됩니다. 자세한 내용은 방법: 복합 형식으로 모델 정의(Entity Framework)를 참조하십시오.

함수 가져오기 매핑

이 시나리오에서 저장소 모델의 저장 프로시저는 개념적 모델의 FunctionImport 요소에 매핑됩니다. 이 함수를 실행하면 매핑된 저장 프로시저를 사용하여 엔터티 데이터가 반환됩니다. 자세한 내용은 방법: 저장 프로시저로 모델 정의(Entity Framework)를 참조하십시오.

수정 함수 매핑

이 시나리오에서는 데이터를 삽입, 업데이트 및 삭제하는 저장 프로시저가 저장소 모델에 정의됩니다. 이러한 함수는 특정 엔터티 형식에 업데이트 기능을 제공하기 위해 엔터티 형식에 대해 정의됩니다. 자세한 내용은 저장 프로시저 지원(Entity Framework)을 참조하십시오.

쿼리 매핑 정의

이 시나리오에서는 데이터 소스의 테이블을 나타내는 쿼리가 저장소 모델에 정의됩니다. SQL Server 데이터베이스에 매핑할 경우 쿼리는 Transact-SQL과 같은 데이터 소스의 기본 쿼리 언어로 표현됩니다. 이 DefiningQuery 요소는 개념적 모델의 엔터티 형식에 매핑됩니다. 쿼리는 저장소 관련 쿼리 언어로 정의됩니다. 자세한 내용은 DefiningQuery 요소(EntityContainer SSDL)를 참조하십시오. 정의 쿼리를 사용하는 경우 표준 업데이트 프로세스를 사용하여 업데이트를 데이터 소스에 저장할 수 없습니다. 수정 함수 매핑을 정의하여 업데이트할 수 있습니다. 자세한 내용은 저장 프로시저 지원(Entity Framework)을 참조하십시오.

쿼리 뷰 매핑

이 시나리오에서는 개념적 모델의 엔터티 형식과 저장소 모델의 관계형 테이블 간에 읽기 전용 매핑이 정의됩니다. 이 매핑은 저장소 모델에 대해 실행되어 개념적 모델의 엔터티를 반환하는 Entity SQL 쿼리를 기반으로 정의됩니다. 자세한 내용은 QueryView 요소(EntitySetMapping)를 참조하십시오. 쿼리 뷰를 사용하는 경우 표준 업데이트 프로세스를 사용하여 업데이트를 데이터 소스에 저장할 수 없습니다. 수정 함수 매핑을 정의하여 업데이트할 수 있습니다. 자세한 내용은 저장 프로시저 지원(Entity Framework)을 참조하십시오.

AssociationSet 매핑

연결은 엔터티 간의 관계를 정의합니다. 일 대 일 또는 일 대 다 연결이 있는 단순 매핑에서 개념적 모델에 관계를 정의하는 연결은 저장소 모델의 연결에 매핑됩니다. 다음과 같은 고급 연결 집합 매핑도 지원됩니다.

  • 다 대 다 연결. 연결의 두 End가 저장소 모델의 링크 테이블에 매핑됩니다.

  • 자체 연결. 이 매핑은 다른 Employee에 대한 연결이 있는 Employee와 같이 동일한 형식을 가진 두 엔터티 간의 연결을 지원합니다.

  • 파생 형식 간의 연결. 이 매핑은 한 계층 구조의 파생 형식과 다른 계층 구조의 파생 형식 간 연결을 지원합니다.

자세한 내용은 Association(EDM)을 참조하십시오.

엔터티 데이터 모델 도구에서 지원되는 매핑 시나리오에 대한 자세한 내용은 ADO.NET 엔터티 데이터 모델 디자이너 개요를 참조하십시오.

참고 항목

개념

엔터티 데이터 모델 상속(응용 프로그램 시나리오)
Entity Framework 리소스
엔터티 데이터 모델 쿼리(응용 프로그램 시나리오)
엔터티 데이터 모델 클래스 프로그래밍(응용 프로그램 시나리오)
엔터티 데이터 모델 정의(응용 프로그램 시나리오)

기타 리소스

프로그래밍 가이드(Entity Framework)
샘플(Entity Framework)