NAVIGATE (Entity SQL)NAVIGATE (Entity SQL)

Consente di eseguire la navigazione nella relazione stabilita tra le entità.Navigates over the relationship established between entities.

SintassiSyntax

navigate(instance-expresssion, [relationship-type], [to-end [, from-end] ])  

ArgomentiArguments

instance-expresssion
Istanza di un'entità.An instance of an entity.

relationship-type
Nome del tipo della relazione, dal file CSDL (Conceptual Schema Definition Language).The type name of the relationship, from the conceptual schema definition language (CSDL) file. Il relationship-type è qualificato come <dello spazio dei nomi >.< Nome tipo relazione >.The relationship-type is qualified as <namespace>.<relationship type name>.

to
Entità finale della relazione.The end of the relationship.

from
Inizio della relazione.The beginning of the relationship.

Valore restituitoReturn Value

Se la cardinalità dell'entità finale è 1, il valore restituito è Ref<T>.If the cardinality of the to end is 1, the return value will be Ref<T>. Se la cardinalità dell'entità finale è n, il valore restituito è Collection<Ref<T>>.If the cardinality of the to end is n, the return value will be Collection<Ref<T>>.

NoteRemarks

Le relazioni sono costrutti di primaria importanza in Entity Data ModelEntity Data Model (EDM).Relationships are first-class constructs in the Entity Data ModelEntity Data Model (EDM). È possibile stabilire relazioni tra due o più tipi di entità e navigare nella relazione da un'entità finale all'altra.Relationships can be established between two or more entity types, and users can navigate over the relationship from one end (entity) to another. I parametrifrom e to sono condizionatamente facoltativi in assenza di ambiguità nella risoluzione dei nomi all'interno della relazione.from and to are conditionally optional when there is no ambiguity in name resolution within the relationship.

NAVIGATE è valido nello spazio O e C.NAVIGATE is valid in O and C space.

Il formato generale di un costrutto di navigazione è il seguente:The general form of a navigation construct is the following:

navigate(instance-expresssion, relationship-type, [ to-end [, from-end ] ] )navigate(instance-expresssion, relationship-type, [ to-end [, from-end ] ] )

Ad esempio:For example:

Select o.Id, navigate(o, OrderCustomer, Customer, Order)  
From LOB.Orders as o  

Dove OrderCustomer è l'oggetto relationship, mentre Customer e Order rappresentano l'oggetto to-end (Customer) e l'oggetto from-end (Order) della relazione.Where OrderCustomer is the relationship, and Customer and Order are the to-end (customer) and from-end (order) of the relationship. Se OrderCustomer è una relazione n:1, il tipo di risultato dell'espressione di navigazione è Ref<Customer >.If OrderCustomer was a n:1 relationship, then the result type of the navigate expression is Ref<Customer>.

La forma più semplice di questa espressione è la seguente:The simpler form of this expression is the following:

Select o.Id, navigate(o, OrderCustomer)  
From LOB.Orders as o  

Analogamente, in una query nel formato seguente, l'espressione di navigazione produrrebbe come risultato Collection < Ref<ordine >>.Similarly, in a query of the following form, The navigate expression would produce a Collection<Ref<Order>>.

Select c.Id, navigate(c, OrderCustomer, Order, Customer)  
From LOB.Customers as c  

L'espressione dell'istanza deve essere un tipo di entità/riferimento.The instance-expression must be an entity/ref type.

EsempioExample

Nella query Entity SQL seguente viene usato l'operatore NAVIGATE per eseguire la navigazione nella relazione stabilita tra i tipi di entità Address e SalesOrderHeader.The following Entity SQL query uses the NAVIGATE operator to navigate over the relationship established between Address and SalesOrderHeader entity types. La query è basata sul modello Sales di AdventureWorks.The query is based on the AdventureWorks Sales Model. Per compilare ed eseguire questa query, effettuare le operazioni seguenti:To compile and run this query, follow these steps:

  1. Seguire la procedura indicata in Procedura: eseguire una query che restituisce risultati StructuralType.Follow the procedure in How to: Execute a Query that Returns StructuralType Results.

  2. Passare la query seguente come argomento al metodo ExecuteStructuralTypeQuery :Pass the following query as an argument to the ExecuteStructuralTypeQuery method:

SELECT address.AddressID, (SELECT VALUE DEREF(soh) 
FROM NAVIGATE(address,     AdventureWorksModel.FK_SalesOrderHeader_Address_BillToAddressID) AS soh)
    FROM AdventureWorksEntities.Addresses AS address

Vedere ancheSee Also

Riferimento a Entity SQLEntity SQL Reference
Procedura: esplorare relazioni con operatore NavigateHow to: Navigate Relationships with Navigate Operator