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


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.Products 
    as p

См. также

Справочник

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

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

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