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. Для компиляции и запуска этого запроса выполните следующие шаги.
Следуйте инструкциям в разделе Как выполнить запрос, возвращающий результаты типов-примитивов (EntityClient).
Передайте методу 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)