ObjectQuery<T> 类

定义

ObjectQuery 在对象层实现强类型查询。 查询是使用 Entity-SQL 字符串指定的,可以通过调用 ObjectQuery 声明的基于实体 SQL 的查询生成器方法来创建。

[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1710:IdentifiersShouldHaveCorrectSuffix")]
public class ObjectQuery<T> : System.Data.Entity.Core.Objects.ObjectQuery, System.Collections.Generic.IEnumerable<T>, System.Data.Entity.Infrastructure.IDbAsyncEnumerable<T>, System.Linq.IOrderedQueryable<T>, System.Linq.IQueryable<T>
type ObjectQuery<'T> = class
    inherit ObjectQuery
    interface IOrderedQueryable<'T>
    interface IQueryable<'T>
    interface IOrderedQueryable
    interface IQueryable
    interface seq<'T>
    interface IEnumerable
    interface IDbAsyncEnumerable<'T>
    interface IDbAsyncEnumerable
Public Class ObjectQuery(Of T)
Inherits ObjectQuery
Implements IDbAsyncEnumerable(Of T), IEnumerable(Of T), IOrderedQueryable(Of T), IQueryable(Of T)

类型参数

T

此 ObjectQuery 的结果类型

继承
ObjectQuery<T>
派生
属性
实现

构造函数

ObjectQuery<T>(String, ObjectContext)

使用指定的 Entity SQL 命令作为初始查询创建新 ObjectQuery<T> 实例。

ObjectQuery<T>(String, ObjectContext, MergeOption)

使用指定的 Entity SQL 命令作为初始查询和指定的合并选项创建一个新 ObjectQuery<T> 实例。

属性

CommandText

返回查询的命令文本。

(继承自 ObjectQuery)
Context

获取与此对象查询相关联的对象上下文。

(继承自 ObjectQuery)
EnablePlanCaching

获取或设置一个值,该值指示是否应缓存查询计划。

(继承自 ObjectQuery)
MergeOption

获取或设置从查询返回的对象添加到对象上下文的方式。

(继承自 ObjectQuery)
Name

获取或设置此对象查询的名称。

Parameters

获取此对象查询的参数集合。

(继承自 ObjectQuery)
Streaming

查询是流式处理还是缓冲

(继承自 ObjectQuery)

方法

Distinct()

将查询限制为唯一结果。

Except(ObjectQuery<T>)

此查询生成器方法创建一个新查询,其结果为此查询的所有结果,但也是指定其他查询的一部分的结果除外。

Execute(MergeOption)

使用指定的合并选项执行对象查询。

ExecuteAsync(MergeOption)

使用指定的合并选项异步执行对象查询。

ExecuteAsync(MergeOption, CancellationToken)

使用指定的合并选项异步执行对象查询。

GetResultType()

返回有关查询的结果类型的信息。

(继承自 ObjectQuery)
GroupBy(String, String, ObjectParameter[])

按指定的条件对查询结果进行分组。

Include(String)

指定要包括在查询结果中的相关对象。

Intersect(ObjectQuery<T>)

此查询生成器方法创建一个新查询,其结果为此查询和指定的其他查询的结果。

OfType<TResultType>()

将查询限制为仅包括特定类型的结果。

OrderBy(String, ObjectParameter[])

按指定条件对查询结果进行排序。

Select(String, ObjectParameter[])

将查询结果限制为仅包含在指定投影中定义的属性。

SelectValue<TResultType>(String, ObjectParameter[])

将查询结果限制为仅包含投影中指定的属性。

Skip(String, String, ObjectParameter[])

按指定条件对查询结果进行排序并跳过指定数目的结果。

Top(String, ObjectParameter[])

将查询结果限制为指定的项数。

ToTraceString()

返回对数据源执行的命令。

(继承自 ObjectQuery)
Union(ObjectQuery<T>)

此查询生成器方法创建一个新查询,其结果为此查询的所有结果以及其他查询的所有结果,没有重复项 (即,结果) 是唯一的。

UnionAll(ObjectQuery<T>)

此查询生成器方法创建一个新查询,其结果为此查询的所有结果,以及其他查询的所有结果,包括任何重复项 (即结果不一定) 唯一。

Where(String, ObjectParameter[])

将查询限制为包含与指定筛选条件匹配的结果。

显式接口实现

IDbAsyncEnumerable.GetAsyncEnumerator()

返回一个 , IDbAsyncEnumerator 枚举时将对数据库执行给定的 SQL 查询。

(继承自 ObjectQuery)
IDbAsyncEnumerable<T>.GetAsyncEnumerator()

返回一个 , IDbAsyncEnumerator<T> 枚举时将对数据库执行给定的 SQL 查询。

IEnumerable.GetEnumerator()

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

(继承自 ObjectQuery)
IEnumerable<T>.GetEnumerator()

返回一个 , IEnumerator<T> 枚举时将对数据库执行给定的 SQL 查询。

IListSource.ContainsListCollection

ObjectQuery 在对象层实现强类型查询。 查询是使用 Entity-SQL 字符串指定的,可以通过调用 ObjectQuery 声明的基于实体 SQL 的查询生成器方法来创建。

(继承自 ObjectQuery)
IListSource.GetList()

返回 IList 形式的集合用于数据绑定。

(继承自 ObjectQuery)
IQueryable.ElementType

获取此查询实例的结果元素类型。

(继承自 ObjectQuery)
IQueryable.Expression

获取描述此查询的表达式。 对于使用 LINQ 生成器模式生成的查询,返回完整的 LINQ 表达式树;否则,返回包装此查询的常量表达式。 请注意,默认表达式不进行缓存。 这使我们能够区分 LINQ 和 Entity-SQL 查询。

(继承自 ObjectQuery)
IQueryable.Provider

IQueryProvider获取与此查询实例关联的 。

(继承自 ObjectQuery)

扩展方法

AllAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>)

异步确定序列的所有元素是否都满足条件。

AllAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

异步确定序列的所有元素是否都满足条件。

AnyAsync<TSource>(IQueryable<TSource>)

异步确定序列是否包含任何元素。

AnyAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>)

异步确定序列的任何元素是否满足条件。

AnyAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

异步确定序列的任何元素是否满足条件。

AnyAsync<TSource>(IQueryable<TSource>, CancellationToken)

异步确定序列是否包含任何元素。

AsNoTracking<T>(IQueryable<T>)

返回一个新查询,其中返回的实体不会缓存在 或 ObjectContextDbContext。 此方法通过调用基础查询对象的 AsNoTracking 方法来工作。 如果基础查询对象没有 AsNoTracking 方法,则调用此方法将不起作用。

AsStreaming<T>(IQueryable<T>)
已过时.

返回一个新查询,该查询将流式传输结果,而不是缓冲。 此方法通过调用基础查询对象的 AsStreaming 方法工作。 如果基础查询对象没有 AsStreaming 方法,则调用此方法将不起作用。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>)

异步计算通过对输入序列的每个元素调用投影函数获取的值序列 Decimal 的平均值。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>, CancellationToken)

异步计算通过对输入序列的每个元素调用投影函数获取的值序列 Decimal 的平均值。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>)

异步计算通过对输入序列的每个元素调用投影函数获取的值序列 Double 的平均值。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>, CancellationToken)

异步计算通过对输入序列的每个元素调用投影函数获取的值序列 Double 的平均值。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>)

异步计算通过对输入序列的每个元素调用投影函数获取的值序列 Int32 的平均值。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>, CancellationToken)

异步计算通过对输入序列的每个元素调用投影函数获取的值序列 Int32 的平均值。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>)

异步计算通过对输入序列的每个元素调用投影函数获取的值序列 Int64 的平均值。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>, CancellationToken)

异步计算通过对输入序列的每个元素调用投影函数获取的值序列 Int64 的平均值。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>)

异步计算通过调用输入序列中每个元素的投影函数获取的可为 Decimal 空值序列的平均值。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>, CancellationToken)

异步计算通过调用输入序列中每个元素的投影函数获取的可为 Decimal 空值序列的平均值。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>)

异步计算通过调用输入序列中每个元素的投影函数获取的可为 Double 空值序列的平均值。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>, CancellationToken)

异步计算通过调用输入序列中每个元素的投影函数获取的可为 Double 空值序列的平均值。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>)

异步计算通过调用输入序列中每个元素的投影函数获取的可为 Int32 空值序列的平均值。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>, CancellationToken)

异步计算通过调用输入序列中每个元素的投影函数获取的可为 Int32 空值序列的平均值。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>)

异步计算通过调用输入序列中每个元素的投影函数获取的可为 Int64 空值序列的平均值。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>, CancellationToken)

异步计算通过调用输入序列中每个元素的投影函数获取的可为 Int64 空值序列的平均值。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>)

异步计算通过调用输入序列中每个元素的投影函数获取的可为 Single 空值序列的平均值。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>, CancellationToken)

异步计算通过调用输入序列中每个元素的投影函数获取的可为 Single 空值序列的平均值。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>)

异步计算通过对输入序列的每个元素调用投影函数获取的值序列 Single 的平均值。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>, CancellationToken)

异步计算通过对输入序列的每个元素调用投影函数获取的值序列 Single 的平均值。

ContainsAsync<TSource>(IQueryable<TSource>, TSource)

使用默认相等比较器异步确定序列是否包含指定的元素。

ContainsAsync<TSource>(IQueryable<TSource>, TSource, CancellationToken)

使用默认相等比较器异步确定序列是否包含指定的元素。

CountAsync<TSource>(IQueryable<TSource>)

异步返回序列中的元素数。

CountAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>)

异步返回序列中满足条件的元素数。

CountAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

异步返回序列中满足条件的元素数。

CountAsync<TSource>(IQueryable<TSource>, CancellationToken)

异步返回序列中的元素数。

FirstAsync<TSource>(IQueryable<TSource>)

异步返回序列的第一个元素。

FirstAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>)

异步返回序列中满足指定条件的第一个元素。

FirstAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

异步返回序列中满足指定条件的第一个元素。

FirstAsync<TSource>(IQueryable<TSource>, CancellationToken)

异步返回序列的第一个元素。

FirstOrDefaultAsync<TSource>(IQueryable<TSource>)

异步返回序列的第一个元素;如果序列不包含任何元素,则返回默认值。

FirstOrDefaultAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>)

异步返回序列中满足指定条件的第一个元素,如果未找到此类元素,则返回默认值。

FirstOrDefaultAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

异步返回序列中满足指定条件的第一个元素,如果未找到此类元素,则返回默认值。

FirstOrDefaultAsync<TSource>(IQueryable<TSource>, CancellationToken)

异步返回序列的第一个元素;如果序列不包含任何元素,则返回默认值。

ForEachAsync<T>(IQueryable<T>, Action<T>)

异步枚举查询结果,并针对每个元素执行指定的操作。

ForEachAsync<T>(IQueryable<T>, Action<T>, CancellationToken)

异步枚举查询结果,并针对每个元素执行指定的操作。

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

指定要包括在查询结果中的相关对象。

Include<T,TProperty>(IQueryable<T>, Expression<Func<T,TProperty>>)

指定要包括在查询结果中的相关对象。

LongCountAsync<TSource>(IQueryable<TSource>)

异步返回一个 Int64 ,它表示序列中的元素总数。

LongCountAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>)

异步返回一个 , Int64 它表示序列中满足条件的元素数。

LongCountAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

异步返回一个 , Int64 它表示序列中满足条件的元素数。

LongCountAsync<TSource>(IQueryable<TSource>, CancellationToken)

异步返回一个 Int64 ,它表示序列中的元素总数。

MaxAsync<TSource>(IQueryable<TSource>)

异步返回序列的最大值。

MaxAsync<TSource>(IQueryable<TSource>, CancellationToken)

异步返回序列的最大值。

MaxAsync<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>)

对序列的每个元素异步调用投影函数,并返回最大结果值。

MaxAsync<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>, CancellationToken)

对序列的每个元素异步调用投影函数,并返回最大结果值。

MinAsync<TSource>(IQueryable<TSource>)

异步返回序列的最小值。

MinAsync<TSource>(IQueryable<TSource>, CancellationToken)

异步返回序列的最小值。

MinAsync<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>)

对序列的每个元素异步调用投影函数,并返回生成的最小值。

MinAsync<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>, CancellationToken)

对序列的每个元素异步调用投影函数,并返回生成的最小值。

SingleAsync<TSource>(IQueryable<TSource>)

异步返回序列的唯一元素,如果序列中没有确切的元素,则引发异常。

SingleAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>)

异步返回序列中唯一满足指定条件的元素,如果存在多个此类元素,则引发异常。

SingleAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

异步返回序列中唯一满足指定条件的元素,如果存在多个此类元素,则引发异常。

SingleAsync<TSource>(IQueryable<TSource>, CancellationToken)

异步返回序列的唯一元素,如果序列中没有确切的元素,则引发异常。

SingleOrDefaultAsync<TSource>(IQueryable<TSource>)

异步返回序列的唯一元素,如果序列为空,则返回默认值;如果序列中有多个元素,此方法将引发异常。

SingleOrDefaultAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>)

异步返回序列中满足指定条件的唯一元素;如果不存在此类元素,则返回默认值;如果多个元素满足条件,此方法将引发异常。

SingleOrDefaultAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

异步返回序列中满足指定条件的唯一元素;如果不存在此类元素,则返回默认值;如果多个元素满足条件,此方法将引发异常。

SingleOrDefaultAsync<TSource>(IQueryable<TSource>, CancellationToken)

异步返回序列的唯一元素,如果序列为空,则返回默认值;如果序列中有多个元素,此方法将引发异常。

Skip<TSource>(IQueryable<TSource>, Expression<Func<Int32>>)

跳过序列中指定数量的元素,然后返回剩余的元素。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>)

异步计算通过对输入序列的每个元素调用投影函数获取的值序列 Decimal 的总和。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>, CancellationToken)

异步计算通过对输入序列的每个元素调用投影函数获取的值序列 Decimal 的总和。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>)

异步计算通过对输入序列的每个元素调用投影函数获取的值序列 Double 的总和。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>, CancellationToken)

异步计算通过对输入序列的每个元素调用投影函数获取的值序列 Double 的总和。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>)

异步计算通过对输入序列的每个元素调用投影函数获取的值序列 Int32 的总和。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>, CancellationToken)

异步计算通过对输入序列的每个元素调用投影函数获取的值序列 Int32 的总和。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>)

异步计算通过对输入序列的每个元素调用投影函数获取的值序列 Int64 的总和。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>, CancellationToken)

异步计算通过对输入序列的每个元素调用投影函数获取的值序列 Int64 的总和。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>)

异步计算可通过对输入序列的每个元素调用投影函数获取的可为 Decimal 空值序列的总和。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>, CancellationToken)

异步计算可通过对输入序列的每个元素调用投影函数获取的可为 Decimal 空值序列的总和。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>)

异步计算可通过对输入序列的每个元素调用投影函数获取的可为 Double 空值序列的总和。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>, CancellationToken)

异步计算可通过对输入序列的每个元素调用投影函数获取的可为 Double 空值序列的总和。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>)

异步计算可通过对输入序列的每个元素调用投影函数获取的可为 Int32 空值序列的总和。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>, CancellationToken)

异步计算可通过对输入序列的每个元素调用投影函数获取的可为 Int32 空值序列的总和。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>)

异步计算可通过对输入序列的每个元素调用投影函数获取的可为 Int64 空值序列的总和。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>, CancellationToken)

异步计算可通过对输入序列的每个元素调用投影函数获取的可为 Int64 空值序列的总和。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>)

异步计算可通过对输入序列的每个元素调用投影函数获取的可为 Single 空值序列的总和。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>, CancellationToken)

异步计算可通过对输入序列的每个元素调用投影函数获取的可为 Single 空值序列的总和。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>)

异步计算通过对输入序列的每个元素调用投影函数获取的值序列 Single 的总和。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>, CancellationToken)

异步计算通过对输入序列的每个元素调用投影函数获取的值序列 Single 的总和。

Take<TSource>(IQueryable<TSource>, Expression<Func<Int32>>)

从序列的开头返回指定数量的相邻元素。

ToArrayAsync<TSource>(IQueryable<TSource>)

通过异步枚举从 创建数组 IQueryable<T>

ToArrayAsync<TSource>(IQueryable<TSource>, CancellationToken)

通过异步枚举从 创建数组 IQueryable<T>

ToDictionaryAsync<TSource,TKey>(IQueryable<TSource>, Func<TSource,TKey>)

Dictionary<TKey,TValue>通过根据指定的键选择器函数异步枚举它,从 IQueryable<T> 中创建 。

ToDictionaryAsync<TSource,TKey>(IQueryable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>)

Dictionary<TKey,TValue>IQueryable<T>通过根据指定的键选择器函数和比较器异步枚举来创建 。

ToDictionaryAsync<TSource,TKey>(IQueryable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>, CancellationToken)

Dictionary<TKey,TValue>IQueryable<T>通过根据指定的键选择器函数和比较器异步枚举来创建 。

ToDictionaryAsync<TSource,TKey>(IQueryable<TSource>, Func<TSource,TKey>, CancellationToken)

Dictionary<TKey,TValue>通过根据指定的键选择器函数异步枚举它,从 IQueryable<T> 中创建 。

ToDictionaryAsync<TSource,TKey,TElement>(IQueryable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>)

Dictionary<TKey,TValue>通过根据指定的键选择器和元素选择器函数异步枚举它,从 IQueryable<T> 中创建 。

ToDictionaryAsync<TSource,TKey,TElement>(IQueryable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, IEqualityComparer<TKey>)

Dictionary<TKey,TValue>IQueryable<T>通过根据指定的键选择器函数、比较器和元素选择器函数异步枚举来创建 。

ToDictionaryAsync<TSource,TKey,TElement>(IQueryable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, IEqualityComparer<TKey>, CancellationToken)

Dictionary<TKey,TValue>IQueryable<T>通过根据指定的键选择器函数、比较器和元素选择器函数异步枚举来创建 。

ToDictionaryAsync<TSource,TKey,TElement>(IQueryable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, CancellationToken)

Dictionary<TKey,TValue>通过根据指定的键选择器和元素选择器函数异步枚举它,从 IQueryable<T> 中创建 。

ToListAsync<TSource>(IQueryable<TSource>)

List<T>IQueryable<T>通过异步枚举从 创建 。

ToListAsync<TSource>(IQueryable<TSource>, CancellationToken)

List<T>IQueryable<T>通过异步枚举从 创建 。

适用于