Nota
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare ad accedere o a cambiare directory.
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare a cambiare directory.
Una proprietà di navigazione è una proprietà facoltativa in un tipo di entità che consente la navigazione da un'estremità di un'associazione all'altra. A differenza di altre proprietà, le proprietà di navigazione non contengono dati.
Una definizione di proprietà di navigazione include quanto segue:
Un nome. (obbligatorio).
L'associazione che gestisce. (obbligatorio).
Le finalità dell'associazione che naviga. (obbligatorio).
Le proprietà di navigazione sono facoltative per entrambi i tipi di entità coinvolti in un'associazione. Se si definisce una proprietà di navigazione su un tipo di entità alla fine di un'associazione, non è necessario definire una proprietà di navigazione sul tipo di entità all'altra estremità dell'associazione.
Il tipo di dati di una proprietà di navigazione è determinato dalla molteplicità della fine dell'associazione remota. Si supponga, ad esempio, che una proprietà di navigazione, OrdersNavProp, esista in un tipo di entità Customer e naviga un'associazione uno-a-molti tra Customer e Order. Poiché la fine dell'associazione remota per la proprietà di navigazione ha molteplicità di molti (*), il tipo di dati è una raccolta (di Order). Analogamente, se esiste una proprietà di navigazione, CustomerNavProp, nel Order tipo di entità, il tipo di dati sarà Customer, perché la molteplicità dell'estremità remota è una (1).
Esempio
Il diagramma seguente illustra un modello concettuale con tre tipi di entità: Book, Publishere Author. Le proprietà Publisher di navigazione e Authors sono definite nel tipo di entità Book. La proprietà di navigazione Books è definita sia nel tipo di entità Publisher sia nel tipo di entità Author.
Il ADO.NET Entity Framework usa un linguaggio specifico del dominio (DSL) denominato linguaggio CSDL (Conceptual Schema Definition Language) per definire modelli concettuali. Il file CSDL seguente definisce il Book tipo di entità illustrato nel diagramma precedente:
<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>
Gli attributi XML vengono utilizzati per comunicare le informazioni necessarie per definire una proprietà di navigazione: l'attributo Name contiene il nome della proprietà, Relationship contiene il nome dell'associazione che esplora e FromRoleToRole contiene le estremità dell'associazione.
Vedere anche
- Concetti chiave del modello di dati di entità
- Modello di Dati dell'Entità
- Relazioni, proprietà di navigazione e chiavi esterne