Поделиться через


DEREF (Entity SQL)

Разыменовывает ссылочное значение и возвращает результат разыменования.

Синтаксис

SELECT DEREF ( o.expression ) FROM Table AS o;

Аргументы

expression Любое допустимое выражение запроса, возвращающее коллекцию.

Возвращаемое значение

Значение сущности, на которую ссылается ссылка.

Замечания

Оператор DEREF разыменовывает эталонное значение и создает результат этого разыменования. Например, если r является ссылкой на тип ref<T>, Deref(r) это выражение типа T , которое дает сущность, на которую ссылается rссылка. Если значение ссылки равно NULL или даль (то есть целевой объект ссылки не существует), результат оператора DEREF имеет значение NULL.

Пример

Следующий запрос Entity SQL использует оператор DEREF для расшифровки ссылочного значения и получения результата этого разыменования. Запрос основан на модели продаж AdventureWorks. Чтобы скомпилировать и запустить этот запрос, выполните следующие действия.

  1. Выполните процедуру, описанную в разделе "Практическое руководство. Выполнение запроса, возвращающего результаты PrimitiveType".

  2. Передайте следующий запрос в качестве аргумента методу ExecutePrimitiveTypeQuery:

SELECT VALUE DEREF(REF(p)).Name 
FROM AdventureWorksEntities.Products AS p

См. также