Compartir a través de


CREATEREF (Entity SQL)

Crea referencias a una entidad en un elemento entityset.

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.

Comentarios

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 Cómo ejecutar una consulta que devuelve resultados StructuralType (EntityClient).

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

SELECT VALUE Key(CreateRef(AdventureWorksEntities.Product, 
    row(p.ProductID))) FROM AdventureWorksEntities.Product as p

La salida se muestra a continuación:

ProductID: 980
ProductID: 365
ProductID: 771
ProductID: 404
ProductID: 977
...

Vea también

Referencia

DEREF (Entity SQL)
KEY (Entity SQL)
REF (Entity SQL)

Conceptos

Referencia de Entity SQL
Operadores de referencia (Entity SQL)