Partilhar via


CREATEREF (SQL de entidade)

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

Sintaxe

CreateRef(entityset_identifier, row_typed_expression)  

Argumentos

entityset_identifier
O identificador entityset, não um literal de cadeia de caracteres.

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

Observações

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

No exemplo abaixo, Orders e BadOrders são conjuntos de entidades do tipo Order, e Id é assumido como a propriedade de chave única de Order. O exemplo ilustra como podemos produzir uma referência a uma entidade em BadOrders. Note que a referência pode estar pendurada. Ou seja, a referência pode não identificar realmente uma entidade específica. Nesses casos, uma DEREF operação nessa referência retorna um null.

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

Exemplo

A consulta Entity SQL 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 esta consulta, siga estes passos:

  1. Siga o procedimento em Como: Executar uma consulta que retorna resultados StructuralType.

  2. Passe a seguinte consulta 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