KEY (язык Entity SQL)
Извлекает ключ ссылки или выражение сущности.
KEY(createref_expression)
Замечания
Ключ сущности содержит значения ключа в правильном порядке указанной сущности или ссылки на сущность. На одном и том же типе сущности могут быть основаны разные наборы сущностей, поэтому в каждом наборе сущностей может появиться одинаковый ключ. Для получения уникальной ссылки используйте REF. Возвращаемый тип оператора KEY – это тип строки, включающий одно поле для каждого ключа сущности в том же порядке.
В следующем примере оператору ключа передается ссылка на сущность BadOrder, и он возвращает ключевую часть этой ссылки. В данном случае – тип записи точно с одним полем, соответствующим свойству Id.
select Key( CreateRef(LOB.BadOrders, row(o.Id)) )
from LOB.Orders as o
Пример
В следующем запросе Entity SQL используется оператор KEY с целью извлечения ключевой части выражения со ссылкой на тип. Запрос основан на модели AdventureWorks Sales. Для компиляции и запуска этого запроса выполните следующие шаги.
Следуйте инструкциям в разделе Как выполнить запрос, возвращающий результаты типа StructuralType (EntityClient).
Передайте следующий запрос в качестве аргумента методу
ExecuteStructuralTypeQuery
:
SELECT VALUE Key(CreateRef(AdventureWorksEntities.Products,
row(p.ProductID))) FROM AdventureWorksEntities.Products as p
См. также
Справочник
CREATEREF (Entity SQL)
REF (язык Entity SQL)
DEREF (язык Entity SQL)