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


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

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

  2. Передайте методу 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)