IQueryable Интерфейс

Определение

Предоставляет функциональные возможности расчета запросов к конкретному источнику данных, для которого не указан тип данных.Provides functionality to evaluate queries against a specific data source wherein the type of the data is not specified.

public interface class IQueryable : System::Collections::IEnumerable
public interface IQueryable : System.Collections.IEnumerable
type IQueryable = interface
    interface IEnumerable
Public Interface IQueryable
Implements IEnumerable
Производный
Реализации

Комментарии

IQueryable Интерфейс предназначен для реализации поставщиками запросов.The IQueryable interface is intended for implementation by query providers. Он должен быть реализован только поставщиками, которые также реализуют IQueryable<T>.It is only supposed to be implemented by providers that also implement IQueryable<T>. Если поставщик не реализует реализацию IQueryable<T>, то стандартные операторы запросов нельзя использовать в источнике данных поставщика.If the provider does not also implement IQueryable<T>, the standard query operators cannot be used on the provider's data source.

Интерфейс наследует IEnumerable интерфейс таким образом, чтобы, если он представляет запрос, можно перечислить результаты этого запроса. IQueryableThe IQueryable interface inherits the IEnumerable interface so that if it represents a query, the results of that query can be enumerated. Перечисление приводит к выполнению дерева IQueryable выражения, связанного с объектом.Enumeration causes the expression tree associated with an IQueryable object to be executed. Определение "выполнение дерева выражения" относится только к поставщику запросов.The definition of "executing an expression tree" is specific to a query provider. Например, он может содержать перевод дерева выражения на соответствующий язык запросов для базового источника данных.For example, it may involve translating the expression tree to an appropriate query language for the underlying data source. Запросы, не возвращающие перечислимые результаты, выполняются Execute при вызове метода.Queries that do not return enumerable results are executed when the Execute method is called.

Дополнительные сведения о создании собственного поставщика LINQ см. в разделе LINQ: Создание поставщика IQueryable в блогах MSDN.For more information about how to create your own LINQ provider, see LINQ: Building an IQueryable Provider on MSDN Blogs.

Свойства

ElementType

Получает тип элементов, которые возвращаются при выполнении дерева выражения, связанного с данным экземпляром класса IQueryable.Gets the type of the element(s) that are returned when the expression tree associated with this instance of IQueryable is executed.

Expression

Получает выражение, связанное с экземпляром класса IQueryable.Gets the expression tree that is associated with the instance of IQueryable.

Provider

Возвращает объект поставщика запросов, связанного с указанным источником данных.Gets the query provider that is associated with this data source.

Методы

GetEnumerator()

Возвращает перечислитель, который осуществляет итерацию по коллекции.Returns an enumerator that iterates through a collection.

(Унаследовано от IEnumerable)

Методы расширения

Cast<TResult>(IEnumerable)

Приводит элементы объекта IEnumerable к заданному типу.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Выполняет фильтрацию элементов объекта IEnumerable по заданному типу.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Позволяет осуществлять параллельный запрос.Enables parallelization of a query.

AsQueryable(IEnumerable)

Преобразовывает коллекцию IEnumerable в объект IQueryable.Converts an IEnumerable to an IQueryable.

Cast<TResult>(IQueryable)

Преобразовывает элементы объекта IQueryable в заданный тип.Converts the elements of an IQueryable to the specified type.

OfType<TResult>(IQueryable)

Выполняет фильтрацию элементов объекта IQueryable по заданному типу.Filters the elements of an IQueryable based on a specified type.

Применяется к

Дополнительно