ObjectQuery 类
[本页针对的是实体框架版本 6。最新版本以“实体框架”NuGet 包的形式提供。有关实体框架的更多信息,请参见 msdn.com/data/ef。]
此类在对象层实现非类型化的查询。
继承层次结构
System.Object
System.Data.Entity.Core.Objects.ObjectQuery
System.Data.Entity.Core.Objects.ObjectQuery<T>
命名空间: System.Data.Entity.Core.Objects
程序集: EntityFramework(在 EntityFramework.dll 中)
语法
声明
<SuppressMessageAttribute("Microsoft.Design", "CA1010:CollectionsShouldImplementGenericInterface")> _
<SuppressMessageAttribute("Microsoft.Naming", "CA1710:IdentifiersShouldHaveCorrectSuffix")> _
Public MustInherit Class ObjectQuery _
Implements IOrderedQueryable, IQueryable, IEnumerable, IListSource, _
IDbAsyncEnumerable
用法
Dim instance As ObjectQuery
[SuppressMessageAttribute("Microsoft.Design", "CA1010:CollectionsShouldImplementGenericInterface")]
[SuppressMessageAttribute("Microsoft.Naming", "CA1710:IdentifiersShouldHaveCorrectSuffix")]
public abstract class ObjectQuery : IOrderedQueryable,
IQueryable, IEnumerable, IListSource, IDbAsyncEnumerable
[SuppressMessageAttribute(L"Microsoft.Design", L"CA1010:CollectionsShouldImplementGenericInterface")]
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1710:IdentifiersShouldHaveCorrectSuffix")]
public ref class ObjectQuery abstract : IOrderedQueryable,
IQueryable, IEnumerable, IListSource, IDbAsyncEnumerable
[<AbstractClassAttribute>]
[<SuppressMessageAttribute("Microsoft.Design", "CA1010:CollectionsShouldImplementGenericInterface")>]
[<SuppressMessageAttribute("Microsoft.Naming", "CA1710:IdentifiersShouldHaveCorrectSuffix")>]
type ObjectQuery =
class
interface IOrderedQueryable
interface IQueryable
interface IEnumerable
interface IListSource
interface IDbAsyncEnumerable
end
public abstract class ObjectQuery implements IOrderedQueryable, IQueryable, IEnumerable, IListSource, IDbAsyncEnumerable
ObjectQuery 类型公开以下成员。
属性
名称 | 描述 | |
---|---|---|
CommandText | 返回查询的命令文本。 | |
Context | 获取与此对象查询相关联的对象上下文。 | |
EnablePlanCaching | 获取或设置一个值,该值指示是否应缓存查询计划。 | |
MergeOption | 获取或设置从查询返回的对象添加到对象上下文的方式。 | |
Parameters | 获取此对象查询的参数集合。 | |
Streaming | 查询是流式处理还是缓存 |
顶部
方法
名称 | 描述 | |
---|---|---|
Equals | (继承自 Object。) | |
Execute | 使用指定合并选项执行非类型化对象查询。 | |
ExecuteAsync(MergeOption) | 使用指定合并选项异步执行非类型化对象查询。 | |
ExecuteAsync(MergeOption, CancellationToken) | 使用指定合并选项异步执行非类型化对象查询。 | |
Finalize | (继承自 Object。) | |
GetHashCode | (继承自 Object。) | |
GetResultType | 返回有关查询的结果类型的信息。 | |
GetType | (继承自 Object。) | |
MemberwiseClone | (继承自 Object。) | |
ToString | (继承自 Object。) | |
ToTraceString | 返回对数据源执行的命令。 |
顶部
扩展方法
名称 | 描述 | |
---|---|---|
AsNoTracking | 返回一个新查询,其中返回的实体将不会在 DbContext 或 ObjectContext 中进行缓存。此方法通过调用基础查询对象的 AsNoTracking 方法来运行。如果基础查询对象没有 AsNoTracking 方法,则调用此方法将不会有任何影响。 (由 QueryableExtensions 定义。) | |
AsStreaming | 返回将流式处理结果而非缓存它的新查询。此方法通过调用基础查询对象的 AsStreaming 方法来运行。如果基础查询对象没有 AsStreaming 方法,则调用此方法将不会有任何影响。 (由 QueryableExtensions 定义。) | |
ForEachAsync(Action<Object>) | 已重载。 异步枚举查询结果并对每个元素执行指定的操作。 (由 QueryableExtensions 定义。) | |
ForEachAsync(Action<Object>, CancellationToken) | 已重载。 异步枚举查询结果并对每个元素执行指定的操作。 (由 QueryableExtensions 定义。) | |
Include | 指定要包括在查询结果中的相关对象。 (由 QueryableExtensions 定义。) | |
Load | 枚举服务器查询等查询,例如 DbSet<TEntity>、ObjectSet<TEntity>、ObjectQuery<T> 的查询,以及查询结果将加载到关联的 DbContext、ObjectContext 或客户端上的其他缓存中的其他查询。这等效于调用 ToList 然后丢弃该列表,而不会产生实际创建该列表的开销。 (由 QueryableExtensions 定义。) | |
LoadAsync() | 已重载。 异步枚举服务器查询等查询,例如 DbSet<TEntity>、ObjectSet<TEntity>、ObjectQuery<T> 的查询,以及查询结果将加载到关联的 DbContext、ObjectContext 或客户端上的其他缓存中的其他查询。这等效于调用 ToList 然后丢弃该列表,而不会产生实际创建该列表的开销。 (由 QueryableExtensions 定义。) | |
LoadAsync(CancellationToken) | 已重载。 异步枚举服务器查询等查询,例如 DbSet<TEntity>、ObjectSet<TEntity>、ObjectQuery<T> 的查询,以及查询结果将加载到关联的 DbContext、ObjectContext 或客户端上的其他缓存中的其他查询。这等效于调用 ToList 然后丢弃该列表,而不会产生实际创建该列表的开销。 (由 QueryableExtensions 定义。) | |
ToListAsync() | 已重载。 通过异步枚举从 IQueryable 创建 List<T>。 (由 QueryableExtensions 定义。) | |
ToListAsync(CancellationToken) | 已重载。 通过异步枚举从 IQueryable 创建 List<T>。 (由 QueryableExtensions 定义。) |
顶部
显式接口实现
名称 | 描述 | |
---|---|---|
IListSource.ContainsListCollection | 获取一个值,该值指示此查询是否包含查询对象的集合。 | |
IQueryable.ElementType | 获取此查询实例的结果元素类型。 | |
IQueryable.Expression | 获取描述此查询的表达式。对于使用 LINQ 生成器模式生成的查询,会返回完全 LINQ 表达式树;否则,返回包装此查询的常量表达式。请注意,默认表达式不进行缓存。这允许用户区分 LINQ 和 Entity-SQL 查询。 | |
IEnumerable.GetEnumerator | 返回一个循环访问集合的枚举器。 | |
IListSource.GetList | 返回 IList 形式的集合用于数据绑定。 | |
IQueryable.Provider | 获取与此查询实例关联的 IQueryProvider。 | |
IDbAsyncEnumerable.GetAsyncEnumerator | 返回 IDbAsyncEnumerator,被枚举时它将针对数据库执行给定的 SQL 查询。 |
顶部
线程安全
此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。