Freigeben über


NavigationProperty-Element (CSDL)

Ein NavigationProperty-Element definiert eine Navigationseigenschaft, die einen Verweis auf das andere Ende einer Zuordnung bereitstellt.Im Gegensatz zu mit dem Property-Element definierten Eigenschaften werden von Navigationseigenschaften Form und Eigenschaften von Daten nicht definiert.Sie bieten eine Möglichkeit, eine Zuordnung zwischen zwei Entitätstypen zu navigieren.

Beachten Sie, dass Navigationseigenschaften für beide Entitätstypen an den Enden einer Zuordnung optional sind.Wenn Sie für einen Entitätstyp am Ende einer Zuordnung eine Navigationseigenschaft definieren, muss keine Navigationseigenschaft für den Entitätstyp am anderen Ende der Zuordnung definiert werden.

Der von einer Navigationseigenschaft zurückgegebene Datentyp wird von der Multiplizität des Remotezuordnungsendes bestimmt.Angenommen, eine Navigationseigenschaft, OrdersNavProp, ist für einen Customer-Entitätstyp vorhanden und navigiert eine 1:n-Zuordnung zwischen Customer und Order.Da das Remotezuordnungsende für die Navigationseigenschaft eine Multiplizität von n (*) aufweist, ist sein Datentyp eine Auflistung (von Order).Ist eine Navigationseigenschaft, CustomerNavProp, für den Order-Entitätstyp vorhanden, wäre sein Datentyp dementsprechend Customer, da die Multiplizität des Remoteendes "eins" (1) beträgt.

Ein NavigationProperty-Element kann die folgenden untergeordneten Elemente aufweisen (der vorliegenden Reihenfolge entsprechend):

Anwendbare Attribute

In der folgenden Tabelle werden die Attribute beschrieben, die für das NavigationProperty-Element übernommen werden können.

Attributname

Ist erforderlich

Value

Name

Ja

Der Name der Navigationseigenschaft.

Relationship

Ja

Der Name einer Zuordnung, die sich innerhalb des Bereichs des Modells befindet.

ToRole

Ja

Das Ende der Zuordnung, an dem die Navigation endet.Der Wert des ToRole-Attributs muss mit dem Wert eines der Role-Attribute übereinstimmen, die für eines der Zuordnungsenden definiert wurden (definiert im AssociationEnd-Element).

FromRole

Ja

Das Ende der Zuordnung, an dem die Navigation beginnt.Der Wert des FromRole-Attributs muss mit dem Wert eines der Role-Attribute übereinstimmen, die für eines der Zuordnungsenden definiert wurden (definiert im AssociationEnd-Element).

Hinweis

Eine beliebige Anzahl von Anmerkungsattributen (benutzerdefinierte XML-Attribute) kann für das NavigationProperty-Element übernommen werden.Benutzerdefinierte Attribute dürfen jedoch zu keinem XML-Namespace gehören, der für CSDL reserviert ist.Die vollqualifizierten Namen für zwei benutzerdefinierte Attribute dürfen nicht übereinstimmen.

Beispiel

Im folgenden Beispiel wird ein Entitätstyp (Book) mit zwei Navigationseigenschaften (PublishedBy und WrittenBy) definiert:

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

Siehe auch

Konzepte

Übersicht über das Entity Framework

CSDL-Spezifikation

Schema-Element (CSDL)

Navigationseigenschaft

Andere Ressourcen

CSDL-, SSDL- und MSL-Spezifikationen

ADO.NET Entity Data Model Tools