Navigationseigenschaften (EDM)

Navigationseigenschaften stellen in Entitätsdatenmodell (EDM) Verknüpfungseigenschaften für die Suche nach Entitäten an den Enden einer Zuordnung dar. Weitere Informationen über Zuordnungen finden Sie unter Zuordnung (EDM).

Eigenschaften enthalten die Informationen, die von einer Entität bereitgestellt werden sollen. Navigationseigenschaften beschreiben navigierbare Pfade zwischen Zuordnungen. In einer Zuordnung zwischen einer Customer-Entität und einer Order-Entität kann z. B. die Customer-Entität eine NavigationProperty mit der Bezeichnung Orders deklarieren, um die mit einer bestimmten Customer-Instanz verknüpften Order-Instanzen darzustellen. Von der Customer-Instanz oder der Order-Instanz kann mithilfe der NavigationProperty die Instanz am anderen Ende der Zuordnung gefunden werden.

Im EDM wird die Funktionalität von Auflistungen mithilfe von Navigationseigenschaften und Zuordnungen implementiert. Die NavigationProperty mit der Bezeichung Orders der Customer-Entität funktioniert wie eine Auflistung. Wenn das folgende Schema erstellt wurde, enthält das Objektmodell eine Add-Methode für die Orders-Eigenschaft. Neue Instanzen der Order-Entität werden mit dieser Methode hinzugefügt. Die Orders NavigationProperty kann genau wie .NET Framework-Auflistungen in Schleifen aufgelistet werden.

Im folgenden Auszug eines Schemas ist das Erstellen von Navigationseigenschaften für die Customer-Entität und die Order-Entität dargestellt:

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

Dieses Beispiel veranschaulicht nur die Schemadefinition von Navigationseigenschaften für Customer und Order. Informationen über das Mapping der Zuordnung und der Navigationseigenschaften zum Speicher finden Sie unter Implementieren von Zuordnungen (EDM).

Siehe auch

Konzepte

Strukturieren von Abfrageergebnissen (Entity Framework)
Zuordnung (EDM)
Schemas (EDM)
NavigationProperty-Element (EntityType CSDL)

Weitere Ressourcen

Schemas und Mappingspezifikation (Entity Framework)