다음을 통해 공유


NavigationProperty 요소(EntityType CSDL)

EDM(엔터티 데이터 모델)에서 NavigationProperty 요소는 Association 형식에 의해 관련되는 엔터티를 탐색할 때 쓰이는 바로 가기를 선언합니다.

예를 들어, 한 Employee 형식과 관리자로 지정된 다른 Employee 형식 간에 Association이 정의될 경우, Employee 엔터티에 탐색 속성을 지정하여 관리되는 Employee에서 관리자로 또는 그 반대 방향으로 이동할 수 있습니다.

다음 AdventureWorksHRModel 스키마의 Human Relations 세그먼트 예제에서는 Employee 엔터티뿐만 아니라 일부 직원을 관리자로 지정하는 Employee 엔터티 간의 Association을 정의합니다. Association은 형식이 같지만 Role이 다른 엔터티 사이에 설정됩니다.

Association 요소는 이름이 Employee_Employee_ManagerID인 연결을 선언합니다. 이 연결의 끝에서 유일하게 구별되는 Employee 엔터티 특성은 AssociationSet 정의에 지정된 Role 특성입니다. 나중의 Role에서는 EmployeeManager를 지정합니다.

Association 선언에서 End 요소의 Multiplicity 특성은 Employee가 직원 0명 또는 1명 이상의 관리자가 될 수 있음을 지정합니다. EmployeeRoleEmployeeManager에서 지정하는 관리자를 한 명만 가질 수 있습니다.

  <EntityType Name="Employee" Key="EmployeeID">
    <Key>
        <PropertyRef Name="EmployeeID">
    </Key>
    <Property Name="EmployeeID" Type="Int32" Nullable="false" />
    <!-- Other properties omitted for brevity-->

<NavigationProperty Name="Employee1" 
Relationship="Adventureworks.FK_Employee_Employee_ManagerID" 
FromRole="Employee" ToRole="Employee1" />  </EntityType>

<NavigationProperty Name="Employee2" 
Relationship="Adventureworks.FK_Employee_Employee_ManagerID" 
FromRole="Employee1" ToRole="Employee" />

  <EntityContainer Name="HumanResources">

    <EntitySet Name="Employee" EntityType="Adventureworks.Employee" />

    <AssociationSet Name="FK_Employee_Employee_ManagerID"
      Association="Adventureworks.FK_Employee_Employee_ManagerID">
        <End Role="Employee" EntitySet="Employee" />
        <End Role="Employee1" EntitySet="Employee" />
    </AssociationSet>

  </EntityContainer>

NavigationPropertyNavigationProperty를 포함하는 Employee 엔터티의 관리자에 해당하는 Employee 엔터티에 대한 바로 가기입니다. 이러한 사양을 기반으로 한 개체 모델이 빌드되면 Employee 클래스는 Manager 속성 그리고 NavigationProperty에서 지정된 연결의 탐색에 쓰이는 도우미 메서드를 포함합니다. 도우미 메서드는 개체 모델과 함께 자동으로 빌드됩니다.

탐색 속성은 코드에서 컬렉션과 같은 기능을 하는 속성을 구현하는 데 사용할 수 있습니다. 탐색 속성 및 컬렉션에 대한 자세한 내용은 탐색 속성(EDM)을 참조하십시오.

NavigationProperty 요소는 CSDL(개념 스키마 정의 언어)에서만 사용합니다. SSDL(저장소 스키마 정의 언어) 메타데이터에도 이러한 연결을 지원하는 기본 키/외래 키 관계를 지정하기 위한 요소가 데이터베이스에 있습니다. 메타데이터에서 이 연결은 참조 제약 조건을 포함합니다. ReferentialConstraint 특성에 대한 자세한 내용은 ReferentialConstraint 요소(연결 SSDL)Association 요소(SSDL)를 참조하십시오.

참고 항목

개념

엔터티 데이터 모델 관계
Association 요소(CSDL)
Multiplicity 특성(연결 CSDL)
AdventureWorks 전체 모델(EDM)
탐색 속성(EDM)
Association 요소(SSDL)
ReferentialConstraint 요소(연결 SSDL)