DEREF (Entity SQL)
Desreferencia um valor de referência e gera o resultado dessa desreferência.
Sintaxe
SELECT DEREF ( o.expression ) FROM Table AS o;
Argumentos
expression
Qualquer expressão de consulta válida que retorna uma coleção.
Valor Retornado
O valor de entidade que é referenciada.
Comentários
O operador de DEREF desreferencia um valor de referência e gerencia o resultado do desreferencia. Por exemplo, se r
for uma referência do tipo ref<T>, Deref(r)
é uma expressão do tipo T
que produz a entidade referenciada por r
. Se o valor de referência é zero, ou está oscilando (isto é, o destino de referência não existir), o resultado do operador de DEREF é nulo.
Exemplo
A consulta do Entity SQL a seguir usa o operador DEREF para desreferenciar um valor de referência e para gerar o resultado da desreferência. A consulta é baseada no modelo de vendas AdventureWorks. Para compilar e executar essa consulta, siga estas etapas:
Siga o procedimento em Como executar uma consulta que retorna resultados de PrimitiveType.
Passe a seguinte consulta como um argumento para o método de ExecutePrimitiveTypeQuery:
SELECT VALUE DEREF(REF(p)).Name
FROM AdventureWorksEntities.Products AS p