Oharra
Orrialde honetara sartzeak baimena behar du. Saioa hasteko edo direktorioak aldatzen saia zaitezke.
Orrialde honetara sartzeak baimena behar du. Direktorioak aldatzen saia zaitezke.
Navega por la relación establecida entre entidades.
Sintaxis
navigate(instance-expression, [relationship-type], [to-end [, from-end] ])
Argumentos
instance-expression Instancia de una entidad.
relationship-type Nombre de tipo de la relación, del archivo del lenguaje de definición de esquema conceptual (CSDL).
relationship-type se califica como <espacio de nombres>.<nombre> del tipo de relación.
to Final de la relación.
from Principio de la relación.
Valor devuelto
Si la cardinalidad del extremo al final es 1, el valor devuelto será Ref<T>. Si la cardinalidad del extremo a extremo es n, el valor devuelto será Collection<Ref<T>>.
Observaciones
Las relaciones son construcciones de primera clase en Entity Data Model (EDM). Las relaciones se pueden establecer entre dos o más tipos de entidad y los usuarios pueden navegar por la relación de un extremo (entidad) a otro.
from y to son condicionalmente opcionales cuando no hay ambigüedad en la resolución de nombres dentro de la relación.
NAVIGATE es válido en el espacio de O y C.
La forma general de una construcción de navegación es la siguiente:
navigate(instance-expression, relationship-type, [ to-end [, from-end ] ] )
Por ejemplo:
Select o.Id, navigate(o, OrderCustomer, Customer, Order)
From LOB.Orders as o
Donde OrderCustomer es , relationshipy Customer y Order son los to-end (customer) y from-end (order) de la relación. Si OrderCustomer era una relación n:1, el tipo de resultado de la expresión de navegación es Ref<Customer>.
La forma más sencilla de esta expresión es la siguiente:
Select o.Id, navigate(o, OrderCustomer)
From LOB.Orders as o
Del mismo modo, en una consulta del siguiente formulario, la expresión navigate generaría un orden>> ref<de colección<.
Select c.Id, navigate(c, OrderCustomer, Order, Customer)
From LOB.Customers as c
La expresión de instancia debe ser un tipo entity/ref.
Ejemplo
La siguiente consulta entity SQL usa el operador NAVIGATE para navegar por la relación establecida entre los tipos de entidad Address y SalesOrderHeader. La consulta se basa en el modelo de ventas de AdventureWorks. Para compilar y ejecutar esta consulta, siga estos pasos:
Siga el procedimiento de How to: Execute a Query that Returns StructuralType Results.
Pase la consulta siguiente como argumento al
ExecuteStructuralTypeQuerymétodo :
SELECT address.AddressID, (SELECT VALUE DEREF(soh)
FROM NAVIGATE(address,
AdventureWorksModel.FK_SalesOrderHeader_Address_BillToAddressID)
AS soh)
FROM AdventureWorksEntities.Addresses AS address