IQueryable 接口

定义

提供针对特定数据源(其中数据类型未指定)评估查询的功能。

C#
public interface IQueryable : System.Collections.IEnumerable
派生
实现

注解

接口 IQueryable 旨在由查询提供程序实现。 它只能由同时实现 的提供程序实现 IQueryable<T>。 如果提供程序未同时实现 IQueryable<T>,则不能在提供程序的数据源上使用标准查询运算符。

接口 IQueryable 继承 接口, IEnumerable 以便如果它表示查询,则可以枚举该查询的结果。 枚举会导致执行与对象关联的 IQueryable 表达式树。 “执行表达式树”的定义特定于查询提供程序。 例如,它可能涉及将表达式树转换为基础数据源的相应查询语言。 调用 方法时 Execute ,将执行不返回可枚举结果的查询。

有关如何创建自己的 LINQ 提供程序的详细信息,请参阅 LINQ:生成 IQueryable 提供程序

属性

ElementType

获取在执行与 IQueryable 的此实例关联的表达式树时返回的元素的类型。

Expression

获取与 IQueryable 的实例关联的表达式树。

Provider

获取与此数据源相关联的查询提供程序。

方法

GetEnumerator()

返回循环访问集合的枚举数。

(继承自 IEnumerable)

扩展方法

Cast<TResult>(IEnumerable)

IEnumerable 的元素强制转换为指定的类型。

OfType<TResult>(IEnumerable)

根据指定类型筛选 IEnumerable 的元素。

AsParallel(IEnumerable)

启用查询的并行化。

AsQueryable(IEnumerable)

IEnumerable 转换为 IQueryable

Cast<TResult>(IQueryable)

IQueryable 的元素转换为指定的类型。

OfType<TResult>(IQueryable)

根据指定类型筛选 IQueryable 的元素。

适用于

产品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

另请参阅