IQueryable Интерфейс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет функциональные возможности для оценки запросов к конкретному источнику данных, в котором тип данных не указан.
public interface class IQueryable : System::Collections::IEnumerable
public interface IQueryable : System.Collections.IEnumerable
type IQueryable = interface
interface IEnumerable
Public Interface IQueryable
Implements IEnumerable
- Производный
- Реализации
Комментарии
Интерфейс IQueryable предназначен для реализации поставщиками запросов. Она должна быть реализована только поставщиками, которые также реализуют IQueryable<T>. Если поставщик также не реализует IQueryable<T>, стандартные операторы запросов нельзя использовать в источнике данных поставщика.
Интерфейс IQueryable наследует IEnumerable интерфейс таким образом, чтобы он представлял запрос, можно перечислить результаты этого запроса. Перечисление приводит к выполнению дерева выражений, связанного IQueryable с объектом. Определение "выполнение дерева выражений" зависит от поставщика запросов. Например, он может включать преобразование дерева выражений в соответствующий язык запросов для базового источника данных. Запросы, которые не возвращают перечисляемые результаты, выполняются при вызове Execute метода.
Дополнительные сведения о создании собственного поставщика LINQ см. в статье LINQ: создание поставщика IQueryable.
Свойства
| Имя | Описание |
|---|---|
| ElementType |
Возвращает тип элементов, возвращаемых при выполнении дерева выражений, связанного IQueryable с этим экземпляром. |
| Expression |
Возвращает дерево выражений, связанное с экземпляром IQueryable. |
| Provider |
Возвращает поставщик запросов, связанный с этим источником данных. |
Методы
| Имя | Описание |
|---|---|
| GetEnumerator() |
Возвращает перечислитель, который выполняет итерацию по коллекции. (Унаследовано от IEnumerable) |
Методы расширения
| Имя | Описание |
|---|---|
| AsParallel(IEnumerable) |
Включает параллелизацию запроса. |
| AsQueryable(IEnumerable) |
Преобразует IEnumerable в IQueryable. |
| Cast<TResult>(IEnumerable) |
Приведение элементов IEnumerable к указанному типу. |
| Cast<TResult>(IQueryable) |
Преобразует элементы IQueryable в указанный тип. |
| OfType<TResult>(IEnumerable) |
Фильтрует элементы IEnumerable на основе указанного типа. |
| OfType<TResult>(IQueryable) |
Фильтрует элементы IQueryable на основе указанного типа. |