Поделиться через


Свойства навигации (модель EDM)

Свойства навигации в модели Entity Data Model (EDM) — это свойства быстрого доступа, используемые для нахождения сущностей в элементах ассоциации. Дополнительные сведения об ассоциациях см. в разделе Элемент Association (модель EDM).

Свойства содержат сведения, которые предоставляет сущность. Свойства навигации описывают пути перемещения между ассоциациями. Например, в ассоциации между сущностями Customer и Order сущность Customer может объявить свойство NavigationProperty с именем Orders для представления экземпляров Order, связанных с конкретным экземпляром Customer. На основе экземпляра Customer или Order свойство NavigationProperty позволяет обнаружить экземпляр, относящийся к другому элементу ассоциации.

В модели EDM функциональность коллекции реализована с использованием свойств навигации и ассоциаций. Свойство NavigationProperty с именем Orders для сущности Customer действует как коллекция. После построения следующей схемы модель объектов содержит метод Add для свойства Orders. Новые экземпляры сущности Order добавляются с помощью этого метода. Свойства NavigationProperty с именем Orders можно перечислять в циклах как коллекции платформы .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)

Другие ресурсы

Спецификация схем и сопоставлений (платформа Entity Framework)