속성 은 엔터티 형식 및 복합 형식의 기본 구성 요소 입니다. 속성은 엔터티 형식 인스턴스 또는 복합 형식 인스턴스가 포함할 데이터의 모양과 특성을 정의합니다. 개념적 모델의 속성은 클래스에 정의된 속성과 유사합니다. 클래스의 속성이 클래스의 모양을 정의하고 개체에 대한 정보를 전달하는 것과 동일한 방식으로 개념적 모델의 속성은 엔터티 형식의 모양을 정의하고 엔터티 형식 인스턴스에 대한 정보를 전달합니다.
비고
이 항목에 설명된 대로 속성은 탐색 속성과 다릅니다. 자세한 내용은 탐색 속성을 참조하세요.
속성 정의에는 다음 정보가 포함됩니다.
속성 이름입니다. (필수)
속성 유형입니다. (필수)
패싯의 집합입니다. (선택 사항)
속성은 기본 데이터(예: 문자열, 정수 또는 부울 값) 또는 구조화된 데이터(예: 복합 형식)를 포함할 수 있습니다. 기본 형식의 속성을 스칼라 속성이라고도 합니다. 자세한 내용은 엔터티 데이터 모델: 기본 데이터 형식을 참조하세요.
비고
복합 형식 자체에는 복합 형식인 속성이 있을 수 있습니다.
예시
아래 다이어그램은 세 가지 Book엔터티 형식( , Publisher및 Author)이 있는 개념적 모델을 보여줍니다. 각 엔터티 형식에는 여러 속성이 있지만 각 속성에 대한 형식 정보는 다이어그램에 전달되지 않습니다.
엔터티 키인 속성은 (키)로 표시됩니다.
ADO.NET Entity Framework는 CSDL(개념 스키마 정의 언어)이라는 DSL(도메인별 언어)을 사용하여 개념 모델을 정의합니다. 다음 CSDL은 위 다이어그램과 같이 엔터티 형식을 정의 Book 하고 XML 특성을 사용하여 각 속성의 형식과 이름을 나타냅니다. 선택적 패싯 Nullable도 XML 특성을 사용하여 정의됩니다.
<EntityType Name="Book">
<Key>
<PropertyRef Name="ISBN" />
</Key>
<Property Type="String" Name="ISBN" Nullable="false" />
<Property Type="String" Name="Title" Nullable="false" />
<Property Type="Decimal" Name="Revision" Nullable="false" Precision="29" Scale="29" />
<NavigationProperty Name="Publisher" Relationship="BooksModel.PublishedBy"
FromRole="Book" ToRole="Publisher" />
<NavigationProperty Name="Authors" Relationship="BooksModel.WrittenBy"
FromRole="Book" ToRole="Author" />
</EntityType>
다이어그램에 표시된 속성 중 하나가 복합 형식 속성일 수 있습니다. 예를 들어 Address 엔터티 형식의 Publisher 속성은 StreetAddress, City, StateOrProvince, Country, 및 PostalCode와 같은 여러 스칼라 속성으로 구성된 복합 형식 속성일 수 있습니다. 이러한 복합 형식의 CSDL 표현은 다음과 같습니다.
<ComplexType Name="Address" >
<Property Type="String" Name="StreetAddress" Nullable="false" />
<Property Type="String" Name="City" Nullable="false" />
<Property Type="String" Name="StateOrProvince" Nullable="false" />
<Property Type="String" Name="Country" Nullable="false" />
<Property Type="String" Name="PostalCode" Nullable="false" />
</ComplexType>