IQueryable<T> 接口

定义

提供对数据类型已知的特定数据源的查询进行计算的功能。Provides functionality to evaluate queries against a specific data source wherein the type of the data is known.

generic <typename T>
public interface class IQueryable : System::Collections::Generic::IEnumerable<T>, System::Linq::IQueryable
public interface IQueryable<out T> : System.Collections.Generic.IEnumerable<out T>, System.Linq.IQueryable
type IQueryable<'T> = interface
    interface seq<'T>
    interface IQueryable
    interface IEnumerable
Public Interface IQueryable(Of Out T)
Implements IEnumerable(Of Out T), IQueryable

类型参数

T

数据源中数据的类型。The type of the data in the data source.

派生
实现

注解

IQueryable<T>接口旨在由查询提供程序实现。The IQueryable<T> interface is intended for implementation by query providers.

此接口继承IEnumerable<T>接口, 因此, 如果它表示一个查询, 则可以枚举该查询的结果。This interface inherits the IEnumerable<T> interface so that if it represents a query, the results of that query can be enumerated. 枚举强制执行与某个IQueryable<T>对象关联的表达式树。Enumeration forces the expression tree associated with an IQueryable<T> object to be executed. 调用Execute<TResult>(Expression)方法时, 将执行不返回可枚举结果的查询。Queries that do not return enumerable results are executed when the Execute<TResult>(Expression) method is called.

"执行表达式树" 的定义特定于查询提供程序。The definition of "executing an expression tree" is specific to a query provider. 例如, 它可能涉及将表达式树转换为适用于基础数据源的查询语言。For example, it may involve translating the expression tree to a query language appropriate for an underlying data source.

IQueryable<T>接口使查询成为多态查询。The IQueryable<T> interface enables queries to be polymorphic. 也就是说, 因为针对IQueryable数据源的查询表示为表达式树, 所以它可以针对不同类型的数据源执行。That is, because a query against an IQueryable data source is represented as an expression tree, it can be executed against different types of data sources.

staticShared ThenByDescending AsQueryable ThenBy中定义的 (在 Visual Basic) 方法(IQueryable<T> 、和除外) 扩展实现接口的类型的对象。 QueryableThe static (Shared in Visual Basic) methods defined in the class Queryable (except for AsQueryable, ThenBy, and ThenByDescending) extend objects of types that implement the IQueryable<T> interface.

有关如何创建自己的 linq 提供程序的详细信息, 请参阅 linq:在 MSDN 博客上构建 IQueryable 提供程序。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.

(继承自 IQueryable)
Expression

获取与 IQueryable 的实例关联的表达式树。Gets the expression tree that is associated with the instance of IQueryable.

(继承自 IQueryable)
Provider

获取与此数据源相关联的查询提供程序。Gets the query provider that is associated with this data source.

(继承自 IQueryable)

方法

GetEnumerator()

返回循环访问集合的枚举数。Returns an enumerator that iterates through a collection.

(继承自 IEnumerable)

扩展方法

CopyToDataTable<T>(IEnumerable<T>)

在给定其泛型参数 TDataTable 的输入 DataRow 对象的情况下,返回包含 IEnumerable<T> 对象副本的 DataRowReturns a DataTable that contains copies of the DataRow objects, given an input IEnumerable<T> object where the generic parameter T is DataRow.

CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption)

在给定其泛型参数 TDataRow 的输入 DataTable 对象的情况下,将 IEnumerable<T> 对象复制到指定的 DataRowCopies DataRow objects to the specified DataTable, given an input IEnumerable<T> object where the generic parameter T is DataRow.

CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler)

在给定其泛型参数 TDataRow 的输入 DataTable 对象的情况下,将 IEnumerable<T> 对象复制到指定的 DataRowCopies DataRow objects to the specified DataTable, given an input IEnumerable<T> object where the generic parameter T is DataRow.

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 转换为 IQueryableConverts 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.

SortBy<T>(IQueryable<T>, String)

指定排序顺序。Specifies a sort order.

Ancestors<T>(IEnumerable<T>)

返回元素集合,其中包含源集合中每个节点的上级。Returns a collection of elements that contains the ancestors of every node in the source collection.

Ancestors<T>(IEnumerable<T>, XName)

返回经过筛选的元素集合,其中包含源集合中每个节点的上级。Returns a filtered collection of elements that contains the ancestors of every node in the source collection. 集合中仅包括具有匹配 XName 的元素。Only elements that have a matching XName are included in the collection.

DescendantNodes<T>(IEnumerable<T>)

返回源集合中每个文档和元素的子代节点的集合。Returns a collection of the descendant nodes of every document and element in the source collection.

Descendants<T>(IEnumerable<T>)

返回元素集合,其中包含源集合中每个元素和文档的子代元素。Returns a collection of elements that contains the descendant elements of every element and document in the source collection.

Descendants<T>(IEnumerable<T>, XName)

返回经过筛选的元素集合,其中包含源集合中每个元素和文档的子代元素。Returns a filtered collection of elements that contains the descendant elements of every element and document in the source collection. 集合中仅包括具有匹配 XName 的元素。Only elements that have a matching XName are included in the collection.

Elements<T>(IEnumerable<T>)

返回源集合中每个元素和文档的子元素的集合。Returns a collection of the child elements of every element and document in the source collection.

Elements<T>(IEnumerable<T>, XName)

返回源集合中经过筛选的每个元素和文档的子元素集合。Returns a filtered collection of the child elements of every element and document in the source collection. 集合中仅包括具有匹配 XName 的元素。Only elements that have a matching XName are included in the collection.

InDocumentOrder<T>(IEnumerable<T>)

返回节点集合(其中包含源集合中的所有节点),并按文档顺序排列。Returns a collection of nodes that contains all nodes in the source collection, sorted in document order.

Nodes<T>(IEnumerable<T>)

返回源集合中每个文档和元素的子节点集合。Returns a collection of the child nodes of every document and element in the source collection.

Remove<T>(IEnumerable<T>)

将源集合中的每个节点从其父节点中移除。Removes every node in the source collection from its parent node.

适用于

另请参阅