엔터티 형식(EDM)
EDM(엔터티 데이터 모델)에서 EntityType은 응용 프로그램 도메인의 데이터 형식을 위한 디자인 템플릿입니다. 엔터티 선언은 특정 형식의 데이터를 구조적으로 나타냅니다. 스키마를 사용하면 테이블 구조나 코드에 구애 받지 않고 데이터 형식의 모든 세부 사항을 지정할 수 있습니다. 디자인이 완성되면 디자인을 기반으로 프로그래밍 가능 데이터 형식이 빌드됩니다.
EDM EntityType은 비즈니스 응용 프로그램의 고객, 주문 또는 공급업체와 같은 최상위 개념을 모델링하는 데 사용됩니다. 각 엔터티는 CSDL(개념 스키마 정의 언어)에서 EntityType으로 정의됩니다. 구조적으로 정의된 EntityType은 응용 프로그램 개발의 작업 단위가 됩니다. 각 EntityType은 개념적으로 독립적이며 각기 고유한 ID를 가집니다.
엔터티 속성 및 ID
스키마의 EntityType에는 이름, 속성 및 응용 프로그램 코드에서 인스턴스화될 때 데이터 형식을 식별하는 Key 속성이 있습니다.
EntityType에 대한 대부분의 정보는 속성에 포함됩니다. 속성은 EDM SimpleType 또는 ComplexType의 데이터입니다. NavigationProperty 형식을 Association과 함께 사용하여 데이터 항목 컬렉션처럼 작동하는 속성을 구현할 수는 있지만 속성은 한 개의 값을 가집니다. 탐색 속성에 대한 자세한 내용은 EDM의 탐색 속성(EDM)을 참조하십시오. 연결에 대한 자세한 내용은 엔터티 데이터 모델 관계를 참조하십시오.
속성
속성은 지정한 데이터 형식의 값에 대한 고유한 이름을 정의하여 EntityType에 정보를 추가합니다. 속성 사양은 이름과 형식으로 구성되며, GetterAccess 및 SetterAccess 특성을 사용하여 액세스 제약 조건을 지정할 수 있습니다. 속성의 형식은 EDM SimpleType으로 지정된 형식에서 선택됩니다.
Key에 참가하는 속성을 제외한 모든 속성의 값은 Null일 수 있습니다. 다음 예제에서는 EntityType의 선언을 보여 줍니다.
<EntityType Name="Person">
<Key>
<PropertyRef Name="EmailID"/>
</Key>
<Property Name="EmailID" Type="String" Nullable="false" />
<Property Name="Name" Type="String" />
<Property Name="Address" Type="String" />
<Property Name="PhoneNumber" Type=" String"/>
</EntityType>
이 예제에서 EmailID
속성은 이 엔터티의 Key 속성으로 지정됩니다. 키는 Null
일 수 없습니다. 즉, Person 인스턴스에 전자 메일 식별자가 있어야 합니다. Key는 형식을 사용하는 응용 프로그램에서 해당 형식의 인스턴스를 식별하는 데 사용됩니다.
엔터티 키
EntityType은 해당 형식에 대해 정의된 하나 이상의 속성으로 구성된 Key를 정의해야 합니다. 모든 SimpleType 속성 집합은 Key로 사용될 수 있습니다. Key에 사용되는 속성은 응용 프로그램 코드에서 Null
일 수 없습니다.
참고 |
---|
String 형식을 Key로 사용하는 것은 성능과 예측 가능성의 측면에서 모두 좋은 방법이 아닙니다. str1 == str2의 의미가 매우 모호할 수 있기 때문입니다. |
다음 예제에서는 두 SimpleType 속성을 사용하여 Key 특성을 복합 Key에 할당하는 방법을 보여 줍니다.
<EntityType Name="Person">
<Key>
<PropertyRef Name="ContactId" />
<PropertyRef Name="Name" />
</Key>
<Property Name="ContactId" Type="String" Nullable="false" />
<Property Name="Name" Type="String" Nullable="false" />
<Property Name="PhoneNumber" Type="String" />
</EntityType>