CREATEREF (Entity SQL)

Crea referencias a una entidad en un elemento entityset.

Sintaxis

CreateRef(entityset_identifier, row_typed_expression)  

Argumentos

entityset_identifier
Identificador de entityset, no un literal de cadena.

row_typed_expression
Expresión escrita por fila que corresponde a las propiedades de clave del tipo de entidad.

Observaciones

row_typed_expression debe ser estructuralmente equivalentes al tipo de clave de la entidad. Es decir, debe tener el mismo número y los mismos tipos de campos en el mismo orden que las claves de entidad.

En el ejemplo siguiente, Orders y BadOrders son ambos elementos entityset de tipo Order y se supone que Id es la propiedad de clave única de Order. El ejemplo muestra cómo se puede generar una referencia a una entidad en BadOrders. Observe que la referencia puede estar pendiente. Es decir, la referencia puede no identificar realmente una entidad concreta. En esos casos, una operación DEREF en esa referencia devuelve un valor NULL.

SELECT CreateRef(LOB.BadOrders, row(o.Id))
FROM LOB.Orders AS o

Ejemplo

La consulta de Entity SQL siguiente utiliza el operador CREATEREF para crear las referencias a una entidad en un conjunto de entidades. La consulta se basa en el modelo AdventureWorks Sales. Para compilar y ejecutar esta consulta, siga estos pasos:

  1. Siga el procedimiento de How to: Execute a Query that Returns StructuralType Results.

  2. Pase la consulta siguiente como argumento al método ExecuteStructuralTypeQuery :

SELECT VALUE Key(CreateRef(AdventureWorksEntities.Products, 
    row(p.ProductID))) 
FROM AdventureWorksEntities.Products AS p

Consulte también