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.Product,
row(p.ProductID))) FROM AdventureWorksEntities.Product as p
Ниже приведены выходные данные:
ProductID: 980
ProductID: 365
ProductID: 771
ProductID: 404
ProductID: 977
...
См. также
Справочник
CREATEREF (Entity SQL)
REF (язык Entity SQL)
DEREF (язык Entity SQL)
Основные понятия
Справочник по Entity SQL
Ссылочные операторы (язык Entity SQL)