Entity Framework의 데이터 모델링

EDM(엔터티 데이터 모델)은 엔터티 관계 모델입니다. EDM은 프로그래밍 언어 또는 관계형 데이터베이스의 구조에 의해 제약을 받지 않는 중립 형식으로 데이터를 정의합니다. EDM 스키마는 엔터티 및 관계의 세부 정보를 지정하여 데이터 구조로 구현하는 데 사용됩니다.

엔터티는 응용 프로그램 도메인에서 데이터로 표현되는 항목입니다. 엔터티 및 관계의 예는 일반적인 기간 업무(LOB) 응용 프로그램에서 볼 수 있습니다. LOB 응용 프로그램의 도메인에 있는 엔터티에는 고객, 주문, 주문 라인, 공급업체, 제품, 영업 사원, 운송업체, 송장 등이 포함될 수 있습니다. EDM EntityType은 응용 프로그램 도메인의 엔터티를 나타내는 데이터 형식에 대한 사양입니다.

관계는 엔터티 간의 논리적 연결입니다. 예를 들어, 제품 주문과 발주한 고객 사이의 논리적 연결입니다. 한 명의 고객에게 연결된 주문이 많이 있을 수 있으므로 고객과 해당 고객의 주문 사이에는 일 대 다 관계가 형성됩니다. 제품과 공급업체는 다 대 다 관계를 가질 수 있습니다.

엔터티와 관계를 정의하는 작업은 매우 복잡할 수 있습니다. LOB 응용 프로그램의 제품 주문과 같은 기본적인 항목에도 상당히 많은 세부 정보가 필요합니다. 예를 들어, 제품 주문의 경우 여러 가지 폼이 사용될 수 있습니다. 매장 주문, 전화 주문, 인터넷 주문 및 카탈로그 주문이 있을 수 있습니다. EDM에서는 각 주문 형식의 세부 정보가 XML 구문으로 개념적으로 지정됩니다. 각 주문 형식의 속성과 필요한 제약 조건이 개념 스키마를 기반으로 작성된 데이터를 사용하는 응용 프로그램에 전달됩니다.

EDM에서는 두 가지 기본 형식을 사용하여 엔터티와 해당 관계를 모델링합니다.

  • EntityType: 응용 프로그램 도메인에 있는 데이터 구조의 세부 정보에 대한 추상 사양입니다.

  • AssociationType: 형식 간의 논리적 연결입니다.

EDM 디자인 스키마는 응용 프로그램 도메인에 있는 엔터티의 구조, 의미 체계, 제약 조건 및 관계를 정의합니다. 개체 서비스의 EDM 구현에서 개념 스키마는 저장소 모델(일반적으로 데이터베이스의 테이블)을 설명하는 메타데이터가 포함된 다른 스키마에 매핑됩니다. 개념 스키마는 응용 프로그램 코드에서 사용되는 프로그래밍 가능한 개체 모델의 클래스를 생성하는 데 사용됩니다. 또한 개념 스키마와 저장소 스키마는 엔터티 프레임워크에서 런타임에 데이터를 확인, 쿼리 및 업데이트하는 데 사용됩니다.

단원 내용

참고 항목

개념

엔터티 구현(EDM)
연결 구현(EDM)
Entity SQL 언어

기타 리소스

EDM 사양
샘플 응용 프로그램(Entity Framework)