Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Passa alla relazione stabilita tra entità.
Sintassi
navigate(instance-expression, [relationship-type], [to-end [, from-end] ])
Argomenti
instance-expression Istanza di un'entità.
relationship-type Nome del tipo della relazione, dal file CSDL (Conceptual Schema Definition Language). è relationship-type qualificato come <spazio dei nomi>.<nome> del tipo di relazione.
to Fine della relazione.
from Inizio della relazione.
Valore restituito
Se la cardinalità dell'oggetto da terminare è 1, il valore restituito sarà Ref<T>. Se la cardinalità di to end è n, il valore restituito sarà Collection<Ref<T>>.
Osservazioni:
Le relazioni sono costrutti di prima classe nel modello EDM (Entity Data Model). È possibile stabilire relazioni tra due o più tipi di entità e gli utenti possono spostarsi sulla relazione da un'entità finale a un'altra.
from e to sono facoltativi in modo condizionale quando non vi sono ambiguità nella risoluzione dei nomi all'interno della relazione.
NAVIGATE è valido nello spazio O e C.
La forma generale di un costrutto di navigazione è la seguente:
navigate(instance-expression, relationship-type, [ [ to-end , from-end ] ] )
Per esempio:
Select o.Id, navigate(o, OrderCustomer, Customer, Order)
From LOB.Orders as o
Dove OrderCustomer è , relationshipe Customer and Order sono il to-end (cliente) e from-end (ordine) della relazione. Se OrderCustomer era una relazione n:1, il tipo di risultato dell'espressione di navigazione è Ref<Customer>.
La forma più semplice di questa espressione è la seguente:
Select o.Id, navigate(o, OrderCustomer)
From LOB.Orders as o
Analogamente, in una query del formato seguente, l'espressione navigate produrrebbe un ordine>> di riferimento<raccolta<.
Select c.Id, navigate(c, OrderCustomer, Order, Customer)
From LOB.Customers as c
L'espressione di istanza deve essere di tipo entity/ref.
Esempio
La query Entity SQL seguente usa l'operatore NAVIGATE per spostarsi sulla relazione stabilita tra i tipi di entità Address e SalesOrderHeader. La query si basa sul modello AdventureWorks Sales. Per compilare ed eseguire questa query, seguire questa procedura:
Seguire la procedura descritta in Procedura: Eseguire una query che restituisce risultati StructuralType.
Passare la query seguente come argomento al
ExecuteStructuralTypeQuerymetodo :
SELECT address.AddressID, (SELECT VALUE DEREF(soh)
FROM NAVIGATE(address,
AdventureWorksModel.FK_SalesOrderHeader_Address_BillToAddressID)
AS soh)
FROM AdventureWorksEntities.Addresses AS address