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


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 Sales. Для компиляции и запуска этого запроса выполните следующие шаги.

  1. Следуйте инструкциям в разделе Как выполнить запрос, возвращающий типы-примитивы (EntityClient).

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

SELECT VALUE DEREF(REF(p)).Name FROM AdventureWorksEntities.Product 
    as p

Далее показан вывод.

Value: Adjustable Race
Value: All-Purpose Bike Stand
Value: AWC Logo Cap
Value: BB Ball Bearing
Value: Bearing Ball

См. также

Справочник

REF (язык Entity SQL)
CREATEREF (Entity SQL)
KEY (язык Entity SQL)

Основные понятия

Справочник по Entity SQL
Ссылочные операторы (язык Entity SQL)
Структурированные типы, допускающие значение NULL (язык Entity SQL)