탐색 속성(EDM)
EDM(엔터티 데이터 모델)에서 탐색 속성은 연결의 End에서 엔터티를 찾는 데 사용되는 바로 가기 속성입니다. 연결에 대한 자세한 내용은 Association(EDM)을 참조하십시오.
속성에는 엔터티가 제공하도록 되어 있는 정보가 포함됩니다. 탐색 속성은 연결 간의 탐색 가능한 경로를 정의합니다. 예를 들어 Customer
와 Order
엔터티 사이의 연결에서 Customer
엔터티는 Orders
라는 NavigationProperty를 선언하여 특정 Customer
인스턴스와 연결되는 Order
인스턴스를 나타낼 수 있습니다. Customer
또는 Order
인스턴스에서 NavigationProperty를 통해 연결의 End에서 인스턴스를 찾을 수 있습니다.
EDM에서 컬렉션의 기능은 탐색 속성과 연결을 사용하여 구현됩니다. Customer
엔터티에서 Orders
라는 NavigationProperty는 컬렉션처럼 작동합니다. 다음 스키마를 빌드하면 개체 모델에는 Orders
속성에 대한 Add 메서드가 포함됩니다. 이 메서드를 사용하여 Order
엔터티의 새 인스턴스를 추가합니다. Orders NavigationProperty는 .NET Framework 컬렉션처럼 루프에서 열거할 수 있습니다.
아래의 스키마 예제에서는 Customer
및 Order
엔터티에 대한 탐색 속성을 만드는 방법을 보여 줍니다.
<EntityType Name="Customer" >
<Key>
<PropertyRef Name=" CustomerId " />
</Key>
<Property Name="CustomerId" Type="Guid" Nullable="false" />
...
<NavigationProperty Name="Orders" Relationship=Namespace.CustomerOrderType"
FromRole="Customer" ToRole="Orders"/>
</EntityType>
<EntityType Name="Order" Key="OrderId">
...
<NavigationProperty Name="OrderedBy" Relationship="Namespace.Customer_Order"
FromRole="Order" ToRole="Customer" />
</EntityType>
<Association Name="Customer_Order">
<End Role="Customer" Type="Namespace.Customers" Multiplicity="1" />
<End Role="Orders" Type="Namespace.Order" Multiplicity="0..*" />
</Association>
<!— Use a fully qualified name for the association in a Navigation Property.->
이 예제에서는 Customer
및 Order
에 대한 탐색 속성의 스키마 정의만 보여 줍니다. 연결 및 탐색 속성을 저장소에 매핑하는 방법에 대한 자세한 내용은 연결 구현(EDM)을 참조하십시오.
참고 항목
개념
쿼리 결과 셰이핑(Entity Framework)
Association(EDM)
스키마(EDM)
NavigationProperty 요소(EntityType CSDL)