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


Элемент DefiningQuery (EntityContainer, язык SSDL)

Элемент DefiningQuery в коде на языке SSDL определяет запрос, который сопоставляется с представлениями хранилища данных через клиентскую проекцию в модели EDM. Такие сопоставления допускают только чтение. Если не применяется клиентская проекция, то пользователям приходится задавать сопоставления для всех столбцов представления хранилища и обеспечивать настройку фиктивного обновления.

Для формирования применяемой по умолчанию модели EDM используется узкая проекция системных представлений. Определяющий запрос допускает только чтение. В Средства работы с моделью EDM используются артефакты сопоставления для запуска потока операций.

В следующем синтаксисе SSDL показана декларация EntitySet, за которым следует элемент DefiningQuery, содержащий запрос, применяемый для получения представления.

<Schema> 
    <EntitySet Name="Tables" EntityType="Self.STable"> 
        <DefiningQuery> 
          SELECT  TABLE_CATALOG, 
                  'test' as TABLE_SCHEMA, 
                  TABLE_NAME 
          FROM    INFORMATION_SCHEMA.TABLES
        </DefiningQuery> 
    </EntitySet> 
</Schema>

Поддержка хранимых процедур в инфраструктуре Entity Framework ADO.NET может использоваться для осуществления сценариев чтения и записи применительно к произвольным представлениям, о которых пользователю известно, как их обновлять. В качестве базовой таблицы для выборки данных и обработки изменений с помощью хранимых процедур может использоваться представление хранилища или представление Entity SQL.

См. также

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

Наборы сущностей (модель EDM)
Компоненты платформы Entity Framework

Другие ресурсы

Средства работы с моделью EDM