Delen via


Navigatie-eigenschap

Een navigatie-eigenschap is een optionele eigenschap voor een entiteitstype waarmee navigatie van het ene uiteinde van een koppeling naar het andere uiteinde mogelijk is. In tegenstelling tot andere eigenschappen bevatten navigatie-eigenschappen geen gegevens.

Een definitie van de navigatie-eigenschap bevat het volgende:

  • Een naam. (Verplicht)

  • De koppeling die erin wordt genavigeert. (Verplicht)

  • De uiteinden van de koppeling die door de koppeling wordt genavigeert. (Verplicht)

Navigatie-eigenschappen zijn optioneel voor beide entiteitstypen aan het einde van een koppeling. Als u een navigatie-eigenschap definieert voor één entiteitstype aan het einde van een koppeling, hoeft u geen navigatie-eigenschap te definiëren voor het entiteitstype aan het andere uiteinde van de koppeling.

Het gegevenstype van een navigatie-eigenschap wordt bepaald door de multipliciteit van het uiteinde van de externe koppeling. Stel dat een navigatie-eigenschap bestaat, OrdersNavPropbestaat op een Customer entiteitstype en navigeert door een een-op-veel-koppeling tussen Customer en Order. Omdat de externe koppeling voor de navigatie-eigenschap multipliciteit van veel (*) heeft, is het gegevenstype een verzameling (van Order). Als er een navigatie-eigenschap bestaat op CustomerNavProphet entiteitstype, is Customerhet gegevenstype van het Order type, omdat de multipliciteit van het externe uiteinde één (1) is.

Opmerking

In het onderstaande diagram ziet u een conceptueel model met drie entiteitstypen: Book, Publisheren Author. De navigatie-eigenschappen Publisher en Authors zijn gedefinieerd op het entiteitstype Boek. De navigatie-eigenschap Books wordt gedefinieerd op zowel het entiteitstype Publisher als het Author entiteitstype.

Diagram showing a conceptual model with three entity types.

De ADO.NET Entity Framework maakt gebruik van een domeinspecifieke taal (DSL) genaamd conceptuele schemadefinitietaal (CSDL) om conceptuele modellen te definiëren. Met de volgende CSDL wordt het Book entiteitstype gedefinieerd dat in het bovenstaande diagram wordt weergegeven:

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

XML-kenmerken worden gebruikt om de informatie te communiceren die nodig is om een navigatie-eigenschap te definiëren: het kenmerk Name bevat de naam van de eigenschap, Relationship bevat de naam van de koppeling die wordt genavigeert en FromRole ToRole bevat de uiteinden van de koppeling.

Zie ook