Compartilhar via


CREATEREF (Entity SQL)

Fabrica referências a uma entidade em um conjunto de entidades.

Sintaxe

CreateRef(entityset_identifier, row_typed_expression)  

Argumentos

entityset_identifier
O identificador do conjunto de entidades, não um literal de cadeia de caracteres.

row_typed_expression
Uma expressão tipo linha que corresponde às propriedades de chave do tipo de entidade.

Observações

row_typed_expression deve ser estruturalmente equivalente ao tipo de chave da entidade. Ou seja, ele deve ter o mesmo número e tipos de campos na mesma ordem que as chaves de entidade.

No exemplo a seguir, Orders e BadOrders são conjuntos de entidades do tipo Order e a ID é considerada a propriedade de chave única de Order. O exemplo ilustra como podemos produzir uma referência a uma entidade em BadOrders. Observe que a referência pode estar pendente. Ou seja, a referência pode não identificar uma entidade específica. Nesses casos, uma DEREF operação nessa referência retorna um valor nulo.

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

Exemplo

A consulta SQL de entidade a seguir usa o operador CREATEREF para fabricar referências a uma entidade em um conjunto de entidades. A consulta é baseada no Modelo de Vendas adventureworks. Para compilar e executar essa consulta, siga estas etapas:

  1. Siga o procedimento em How to: Execute a Query that Returns StructuralType Results.

  2. Passe a consulta a seguir como um argumento para o ExecuteStructuralTypeQuery método:

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

Consulte também