Выполнение запроса к концептуальной модели (платформа Entity Framework)

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

Тип запроса Описание

Синтаксис LINQ

LINQ to Entities позволяет выполнять запросы LINQ к данным сущности с использованием характерных для языка операторов запроса. Дополнительные сведения см. в разделе LINQ to Entities.

Entity SQL

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

  • Если запрос должен создаваться динамически во время выполнения. В этом случае следует также рассмотреть возможность использования методов построителя запросов ObjectQuery вместо создания строки запроса Entity SQL во время выполнения.

  • Если требуется определить запрос как часть определения модели. В модели данных поддерживается только Entity SQL. Дополнительные сведения см. в разделе Элемент QueryView (язык MSL).

  • Если EntityClient применяется для возврата допускающих только для чтения данных сущности в виде наборов строк с использованием EntityDataReader. Дополнительные сведения см. в разделе Поставщик EntityClient для платформы Entity Framework.

  • Для специалиста по языкам запросов на основе SQL язык Entity SQL может оказаться самым естественным выбором.

Методы построителя запросов

Эти методы ObjectQuery позволяют создавать запросы такие же, как и на языке Entity SQL, без необходимости формировать строку запроса. Эти методы всегда возвращают ObjectQuery, поэтому можно формировать запросы, вызывая методы последовательно, или использовать их для расширения любого запроса Entity SQL. Некоторые методы, такие как Where и OrderBy, принимают фрагменты Entity SQL в качестве параметров. За методами построителя запросов могут следовать определенные стандартные операторы запросов LINQ. Дополнительные сведения см. в разделе Методы построителя запросов (платформа Entity Framework).

В подразделах этого раздела описывается использование класса ObjectQuery для запросов к концептуальной модели. Дополнительные сведения о выполнении запросов языка LINQ к концептуальной модели см. в разделе Запросы в LINQ to Entities.

В этом разделе

Запросы объектов (платформа Entity Framework)

Загрузка связанных объектов (платформа Entity Framework)

Методы построителя запросов (платформа Entity Framework)

Непосредственное выполнение команд хранилища

Как выполнить запрос, возвращающий объекты типа сущностей (платформа Entity Framework)

Как выполнять параметризованный запрос (платформа Entity Framework)

Как переходить по связям с помощью свойств навигации (платформа Entity Framework)

Как использовать пути запросов для формирования результатов (платформа Entity Framework)

Как явно загружать связанные объекты (платформа Entity Framework)

Как использовать отложенную загрузку для загрузки связанных объектов (платформа Entity Framework)

Как вызвать определяемую пользователем функцию (платформа Entity Framework)

Как отфильтровать данные (платформа Entity Framework)

Как сортировать данные (платформа Entity Framework)

Как группировать данные (платформа Entity Framework)

Как объединять данные (платформа Entity Framework)

Как выполнить запрос, возвращающий коллекцию анонимных типов (платформа Entity Framework)

Практическое руководство. Выполнение запроса, возвращающего коллекцию типов-примитивов (платформа Entity Framework)

Как вернуть конкретный объект с помощью его ключа (платформа Entity Framework)

Как выполнять запросы к связанным объектам в коллекции EntityCollection (платформа Entity Framework)

Как упорядочить объединение двух запросов (платформа Entity Framework)

Как постранично просматривать результаты запроса (платформа Entity Framework)

Как просмотреть команды хранилища (платформа Entity Framework)

Как удалить дублирующиеся элементы из результатов запроса LINQ to Entities

Как выполнить запрос с использованием хранимой процедуры, имеющей входные и выходные параметры (платформа Entity Framework)

Как запрашивать сложные типы (платформа Entity Framework)

Как запросить объекты несколькими наборами сущностей для типа (платформа Entity Framework)

Как запросить сущность, сопоставленную с отдельными таблицами

Как выполнять команды непосредственно в источнике данных

Связанные разделы

См. также

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

Работа с объектами (платформа Entity Framework)
Поставщик EntityClient для платформы Entity Framework
Запросы в LINQ to Entities
Ресурсы платформы Entity Framework
Определение отношений и управление отношениями (платформа Entity Framework)

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

Примеры приложений (платформа Entity Framework)