다음을 통해 공유


EntitySetMapping 요소(MSL)

MSL(매핑 사양 언어)의 EntitySetMapping 요소는 개념적 모델 엔터티 집합의 모든 형식을 저장소 모델의 엔터티 집합에 매핑합니다. 개념적 모델의 엔터티 집합은 동일한 형식 및 파생된 형식을 갖는 엔터티 인스턴스의 논리적 컨테이너입니다. 저장소 모델의 엔터티 집합은 기본 데이터베이스의 테이블 또는 뷰를 나타냅니다. 개념적 모델의 엔터티 집합은 EntitySetMapping 요소의 Name 특성 값으로 지정됩니다. 매핑 대상 테이블 또는 뷰는 각 자식 MappingFragment 요소EntitySetMapping 요소 자체의 StoreEntitySet 특성으로 지정됩니다.

EntitySetMapping 요소에는 다음 자식 요소가 있을 수 있습니다.

적용 가능한 특성

다음 표에서는 EntitySetMapping 요소에 적용할 수 있는 특성에 대해 설명합니다.

특성 이름 필수 여부

Name

매핑되는 개념적 모델 엔터티 집합의 이름입니다.

TypeName 1

아니요

매핑되는 개념적 모델 엔터티 형식의 이름입니다.

StoreEntitySet 1

아니요

매핑되는 대상 저장소 모델 엔터티 집합의 이름입니다.

MakeColumnsDistinct

아니요

고유한 행만 반환되는지 여부에 따라 True 또는 False입니다.

이 특성이 True로 설정되면 EntityContainerMapping 요소의 GenerateUpdateViews 특성도 False로 설정되어야 합니다.

1 TypeNameStoreEntitySet 특성을 EntityTypeMappingMappingFragment 자식 요소 대신 사용하면 단일 엔터티 형식을 단일 테이블에 매핑할 수 있습니다.

예제

다음 예제에서는 개념적 모델의 Courses 엔터티 집합에 있는 세 개의 형식(한 개의 기본 형식과 두 개의 파생 형식)을 기본 데이터베이스의 서로 다른 세 테이블에 매핑하는 EntitySetMapping 요소를 보여 줍니다. 테이블은 각 MappingFragment 요소의 StoreEntitySet 특성으로 지정됩니다.

<EntitySetMapping Name="Courses">
  <EntityTypeMapping TypeName="IsTypeOf(SchoolModel1.Course)">
    <MappingFragment StoreEntitySet="Course">
      <ScalarProperty Name="CourseID" ColumnName="CourseID" />
      <ScalarProperty Name="DepartmentID" ColumnName="DepartmentID" />
      <ScalarProperty Name="Credits" ColumnName="Credits" />
      <ScalarProperty Name="Title" ColumnName="Title" />
    </MappingFragment>
  </EntityTypeMapping>
  <EntityTypeMapping TypeName="IsTypeOf(SchoolModel1.OnlineCourse)">
    <MappingFragment StoreEntitySet="OnlineCourse">
      <ScalarProperty Name="CourseID" ColumnName="CourseID" />
      <ScalarProperty Name="URL" ColumnName="URL" />
    </MappingFragment>
  </EntityTypeMapping>
  <EntityTypeMapping TypeName="IsTypeOf(SchoolModel1.OnsiteCourse)">
    <MappingFragment StoreEntitySet="OnsiteCourse">
      <ScalarProperty Name="CourseID" ColumnName="CourseID" />
      <ScalarProperty Name="Time" ColumnName="Time" />
      <ScalarProperty Name="Days" ColumnName="Days" />
      <ScalarProperty Name="Location" ColumnName="Location" />
    </MappingFragment>
  </EntityTypeMapping>
</EntitySetMapping>

참고 항목

개념

CSDL 사양
SSDL 사양

기타 리소스

모델링 및 매핑(Entity Framework)