다음을 통해 공유


NavigationProperty 요소(CSDL)

NavigationProperty 요소는 연결의 다른 End에 대한 참조를 제공하는 탐색 속성을 정의합니다. Property 요소를 사용하여 정의된 속성과 달리 탐색 속성은 데이터의 모양 및 특징을 정의하지 않습니다. 이러한 속성은 두 엔터티 형식 사이의 연결을 탐색하는 방법을 제공합니다.

탐색 속성은 연결의 양쪽 End에 있는 엔터티 형식 모두에 대해 선택적 요소입니다. 연결의 End에 있는 한 엔터티 형식에 대해 탐색 속성을 정의하는 경우 연결의 다른 End에 있는 엔터티 형식에 대해서는 탐색 속성을 정의할 필요가 없습니다.

탐색 속성에 의해 반환된 데이터 형식은 해당 원격 연결 End의 복합성에 의해 결정됩니다. 예를 들어, OrdersNavProp 탐색 속성이 Customer 엔터티 형식에 존재하며 CustomerOrder 간의 일대다 연결을 탐색한다고 가정합니다. 탐색 속성에 대한 원격 연결 End의 복합성은 다수(*)이므로 해당 데이터 형식은 Order의 컬렉션입니다. 마찬가지로 CustomerNavProp 탐색 속성이 Order 엔터티 형식에 존재하는 경우 원격 End의 복합성이 일(1)이므로 해당 데이터 형식은 Customer가 됩니다.

NavigationProperty 요소는 다음에 나열된 순서대로 자식 요소를 포함할 수 있습니다.

적용 가능한 특성

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

특성 이름 필수 여부

Name

탐색 속성의 이름입니다.

Relationship

모델 범위 내에 있는 연결의 이름입니다.

ToRole

탐색이 끝나는 연결의 End입니다. ToRole 특성 값은 AssociationEnd 요소에 정의되어 있는 연결 End 중 하나에 정의된 Role 특성 중 하나의 값과 같아야 합니다.

FromRole

탐색이 시작되는 연결의 End입니다. FromRole 특성 값은 AssociationEnd 요소에 정의되어 있는 연결 End 중 하나에 정의된 Role 특성 중 하나의 값과 같아야 합니다.

Bb387104.note(ko-kr,VS.100).gif참고:
주석 특성(사용자 지정 XML 특성)을 원하는 수만큼 NavigationProperty 요소에 적용할 수 있습니다.그러나 사용자 지정 특성은 CSDL에 예약된 XML 네임스페이스에 속할 수 없습니다.두 사용자 지정 특성의 정규화된 이름은 서로 같을 수 없습니다.

예제

다음 예제에서는 두 개의 탐색 속성(PublishedByWrittenBy)이 있는 엔터티 형식(Book)을 정의합니다.

<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>

참고 항목

개념

Entity Framework 개요
CSDL 사양
Schema 요소(CSDL)

기타 리소스

CSDL, SSDL 및 MSL 사양
ADO.NET Entity Data Model Tools
navigation property (Entity Data Model)