DbSqlQuery<TEntity> 类

[本页针对的是实体框架版本 6。最新版本以“实体框架”NuGet 包的形式提供。有关实体框架的更多信息,请参见 msdn.com/data/ef。]

表示实体的一个 SQL 查询,该查询从 DbContext 创建并通过该上下文中的连接来执行。 此类的实例是从该实体类型的 DbSet<TEntity> 实例中获取的。 创建此对象时不会执行该查询;只要枚举该查询,该查询就会执行(例如,使用 foreach)。 非实体的 SQL 查询是使用 SqlQuery<TElement>(String, Object[]) 创建的。 请参见 DbSqlQuery 了解此类的非泛型版本。

继承层次结构

System.Object
  System.Data.Entity.Infrastructure.DbRawSqlQuery<TEntity>
    System.Data.Entity.Infrastructure.DbSqlQuery<TEntity>

命名空间:  System.Data.Entity.Infrastructure
程序集:  EntityFramework(在 EntityFramework.dll 中)

语法

声明
<SuppressMessageAttribute("Microsoft.Naming", "CA1710:IdentifiersShouldHaveCorrectSuffix")> _
Public Class DbSqlQuery(Of TEntity As Class) _
    Inherits DbRawSqlQuery(Of TEntity)
用法
Dim instance As DbSqlQuery(Of TEntity)
[SuppressMessageAttribute("Microsoft.Naming", "CA1710:IdentifiersShouldHaveCorrectSuffix")]
public class DbSqlQuery<TEntity> : DbRawSqlQuery<TEntity>
where TEntity : class
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1710:IdentifiersShouldHaveCorrectSuffix")]
generic<typename TEntity>
where TEntity : ref class 
public ref class DbSqlQuery : public DbRawSqlQuery<TEntity>
[<SuppressMessageAttribute("Microsoft.Naming", "CA1710:IdentifiersShouldHaveCorrectSuffix")>]
type DbSqlQuery<'TEntity when 'TEntity : not struct> =  
    class 
        inherit DbRawSqlQuery<'TEntity>
    end
JScript does not support generic types and methods.

类型参数

  • TEntity
    查询所返回实体的类型。

DbSqlQuery<TEntity> 类型公开以下成员。

构造函数

  名称 描述
受保护的方法 DbSqlQuery<TEntity> 从派生类的构造函数中进行调用时,创建一个 DbSqlQuery<TEntity> 实例,它将用作 SqlQuery(String, array<Object[]) 的测试替身。将由测试替身使用的方法和属性必须由测试替身来实现,除了 AsNoTracking 和 AsStreaming,它们的默认实现是空操作。

顶部

方法

  名称 描述
公共方法 AllAsync(Func<TElement, Boolean>) 异步确定查询的所有元素是否满足条件。 (继承自 DbRawSqlQuery<TElement>。)
公共方法 AllAsync(Func<TElement, Boolean>, CancellationToken) 异步确定查询的所有元素是否满足条件。 (继承自 DbRawSqlQuery<TElement>。)
公共方法 AnyAsync() 异步确定查询是否包含任何元素。 (继承自 DbRawSqlQuery<TElement>。)
公共方法 AnyAsync(Func<TElement, Boolean>) 异步确定查询的任何元素是否满足条件。 (继承自 DbRawSqlQuery<TElement>。)
公共方法 AnyAsync(CancellationToken) 异步确定查询是否包含任何元素。 (继承自 DbRawSqlQuery<TElement>。)
公共方法 AnyAsync(Func<TElement, Boolean>, CancellationToken) 异步确定查询的任何元素是否满足条件。 (继承自 DbRawSqlQuery<TElement>。)
公共方法 AsNoTracking 返回一个新查询,其中返回的实体将不会在 DbContext 中进行缓存。
公共方法 AsStreaming 已过时。 返回将流式处理结果而非缓存它的新查询。
公共方法 ContainsAsync(TElement) 通过使用默认的相等比较器异步确定查询是否包含指定的元素。 (继承自 DbRawSqlQuery<TElement>。)
公共方法 ContainsAsync(TElement, CancellationToken) 通过使用默认的相等比较器异步确定查询是否包含指定的元素。 (继承自 DbRawSqlQuery<TElement>。)
公共方法 CountAsync() 异步返回查询中的元素数。 (继承自 DbRawSqlQuery<TElement>。)
公共方法 CountAsync(Func<TElement, Boolean>) 异步返回满足条件的查询中的元素数。 (继承自 DbRawSqlQuery<TElement>。)
公共方法 CountAsync(CancellationToken) 异步返回查询中的元素数。 (继承自 DbRawSqlQuery<TElement>。)
公共方法 CountAsync(Func<TElement, Boolean>, CancellationToken) 异步返回满足条件的查询中的元素数。 (继承自 DbRawSqlQuery<TElement>。)
公共方法 Equals 指定此实例是否等于指定对象。 (重写 DbRawSqlQuery<TElement>.Equals(Object)。)
受保护的方法 Finalize (继承自 Object。)
公共方法 FirstAsync() 异步返回查询的第一个元素。 (继承自 DbRawSqlQuery<TElement>。)
公共方法 FirstAsync(Func<TElement, Boolean>) 异步返回满足指定条件的查询的第一个元素。 (继承自 DbRawSqlQuery<TElement>。)
公共方法 FirstAsync(CancellationToken) 异步返回查询的第一个元素。 (继承自 DbRawSqlQuery<TElement>。)
公共方法 FirstAsync(Func<TElement, Boolean>, CancellationToken) 异步返回满足指定条件的查询的第一个元素。 (继承自 DbRawSqlQuery<TElement>。)
公共方法 FirstOrDefaultAsync() 异步返回查询的第一个元素;如果查询结果不包含任何元素,则返回默认值。 (继承自 DbRawSqlQuery<TElement>。)
公共方法 FirstOrDefaultAsync(Func<TElement, Boolean>) 异步返回满足指定条件的查询的第一个元素;如果未找到这样的元素,则返回默认值。 (继承自 DbRawSqlQuery<TElement>。)
公共方法 FirstOrDefaultAsync(CancellationToken) 异步返回查询的第一个元素;如果查询结果不包含任何元素,则返回默认值。 (继承自 DbRawSqlQuery<TElement>。)
公共方法 FirstOrDefaultAsync(Func<TElement, Boolean>, CancellationToken) 异步返回满足指定条件的查询的第一个元素;如果未找到这样的元素,则返回默认值。 (继承自 DbRawSqlQuery<TElement>。)
公共方法 ForEachAsync(Action<TElement>) 异步枚举查询结果并对每个元素执行指定的操作。 (继承自 DbRawSqlQuery<TElement>。)
公共方法 ForEachAsync(Action<TElement>, CancellationToken) 异步枚举查询结果并对每个元素执行指定的操作。 (继承自 DbRawSqlQuery<TElement>。)
公共方法 GetEnumerator 返回 IEnumerator<T>,其枚举的对象将针对数据库执行 SQL 查询。 (继承自 DbRawSqlQuery<TElement>。)
公共方法 GetHashCode 获取与此实例关联的哈希代码。 (重写 DbRawSqlQuery<TElement>.GetHashCode()。)
公共方法 GetType 获取与此实例关联的类型。
公共方法 LongCountAsync() 异步返回表示查询中的总元素数的 Int64。 (继承自 DbRawSqlQuery<TElement>。)
公共方法 LongCountAsync(Func<TElement, Boolean>) 异步返回表示满足条件的查询中元素数的 Int64。 (继承自 DbRawSqlQuery<TElement>。)
公共方法 LongCountAsync(CancellationToken) 异步返回表示查询中的总元素数的 Int64。 (继承自 DbRawSqlQuery<TElement>。)
公共方法 LongCountAsync(Func<TElement, Boolean>, CancellationToken) 异步返回表示满足条件的查询中元素数的 Int64。 (继承自 DbRawSqlQuery<TElement>。)
公共方法 MaxAsync() 异步返回查询的最大值。 (继承自 DbRawSqlQuery<TElement>。)
公共方法 MaxAsync(CancellationToken) 异步返回查询的最大值。 (继承自 DbRawSqlQuery<TElement>。)
受保护的方法 MemberwiseClone (继承自 Object。)
公共方法 MinAsync() 异步返回查询的最小值。 (继承自 DbRawSqlQuery<TElement>。)
公共方法 MinAsync(CancellationToken) 异步返回查询的最小值。 (继承自 DbRawSqlQuery<TElement>。)
公共方法 SingleAsync() 异步返回查询的唯一元素;如果该查询结果并非恰好包含一个元素,则引发异常。 (继承自 DbRawSqlQuery<TElement>。)
公共方法 SingleAsync(Func<TElement, Boolean>) 异步返回满足指定条件的查询的唯一元素;如果有多个这样的元素,则引发异常。 (继承自 DbRawSqlQuery<TElement>。)
公共方法 SingleAsync(CancellationToken) 异步返回查询的唯一元素;如果该查询结果并非恰好包含一个元素,则引发异常。 (继承自 DbRawSqlQuery<TElement>。)
公共方法 SingleAsync(Func<TElement, Boolean>, CancellationToken) 异步返回满足指定条件的查询的唯一元素;如果有多个这样的元素,则引发异常。 (继承自 DbRawSqlQuery<TElement>。)
公共方法 SingleOrDefaultAsync() 异步返回序列中的唯一元素;如果该序列为空,则返回默认值;如果该序列包含多个元素,此方法将引发异常。 (继承自 DbRawSqlQuery<TElement>。)
公共方法 SingleOrDefaultAsync(Func<TElement, Boolean>) 异步返回满足指定条件的查询的唯一元素;如果这类元素不存在,则返回默认值;如果有多个元素满足该条件,此方法将引发异常。 (继承自 DbRawSqlQuery<TElement>。)
公共方法 SingleOrDefaultAsync(CancellationToken) 异步返回序列中的唯一元素;如果该序列为空,则返回默认值;如果该序列包含多个元素,此方法将引发异常。 (继承自 DbRawSqlQuery<TElement>。)
公共方法 SingleOrDefaultAsync(Func<TElement, Boolean>, CancellationToken) 异步返回满足指定条件的查询的唯一元素;如果这类元素不存在,则返回默认值;如果有多个元素满足该条件,此方法将引发异常。 (继承自 DbRawSqlQuery<TElement>。)
公共方法 ToArrayAsync() 通过异步枚举从查询创建数组。 (继承自 DbRawSqlQuery<TElement>。)
公共方法 ToArrayAsync(CancellationToken) 通过异步枚举从查询创建数组。 (继承自 DbRawSqlQuery<TElement>。)
公共方法 ToDictionaryAsync<TKey>(Func<TElement, TKey>) 通过异步枚举它根据指定的键选择器函数从查询创建 Dictionary<TKey, TValue>。 (继承自 DbRawSqlQuery<TElement>。)
公共方法 ToDictionaryAsync<TKey>(Func<TElement, TKey>, IEqualityComparer<TKey>) 通过异步枚举它根据指定的键选择器函数和比较器从查询创建 Dictionary<TKey, TValue>。 (继承自 DbRawSqlQuery<TElement>。)
公共方法 ToDictionaryAsync<TKey>(Func<TElement, TKey>, CancellationToken) 通过异步枚举它根据指定的键选择器函数从查询创建 Dictionary<TKey, TValue>。 (继承自 DbRawSqlQuery<TElement>。)
公共方法 ToDictionaryAsync<TKey>(Func<TElement, TKey>, IEqualityComparer<TKey>, CancellationToken) 通过异步枚举它根据指定的键选择器函数和比较器从查询创建 Dictionary<TKey, TValue>。 (继承自 DbRawSqlQuery<TElement>。)
公共方法 ToDictionaryAsync<TKey, TResult>(Func<TElement, TKey>, Func<TElement, TResult>) 通过异步枚举它根据指定的键选择器函数和元素选择器函数从查询创建 Dictionary<TKey, TValue>。 (继承自 DbRawSqlQuery<TElement>。)
公共方法 ToDictionaryAsync<TKey, TResult>(Func<TElement, TKey>, Func<TElement, TResult>, IEqualityComparer<TKey>) 通过异步枚举它根据指定的键选择器函数、比较器和元素选择器函数从查询创建 Dictionary<TKey, TValue>。 (继承自 DbRawSqlQuery<TElement>。)
公共方法 ToDictionaryAsync<TKey, TResult>(Func<TElement, TKey>, Func<TElement, TResult>, CancellationToken) 通过异步枚举它根据指定的键选择器函数和元素选择器函数从查询创建 Dictionary<TKey, TValue>。 (继承自 DbRawSqlQuery<TElement>。)
公共方法 ToDictionaryAsync<TKey, TResult>(Func<TElement, TKey>, Func<TElement, TResult>, IEqualityComparer<TKey>, CancellationToken) 通过异步枚举它根据指定的键选择器函数、比较器和元素选择器函数从查询创建 Dictionary<TKey, TValue>。 (继承自 DbRawSqlQuery<TElement>。)
公共方法 ToListAsync() 通过异步枚举它从查询创建 List<T>。 (继承自 DbRawSqlQuery<TElement>。)
公共方法 ToListAsync(CancellationToken) 通过异步枚举它从查询创建 List<T>。 (继承自 DbRawSqlQuery<TElement>。)
公共方法 ToString 返回此实例的字符串表示形式。 (重写 DbRawSqlQuery<TElement>.ToString()。)

顶部

显式接口实现  

  名称 描述
显式接口实现私有属性 IListSource.ContainsListCollection 返回 false。 (继承自 DbRawSqlQuery<TElement>。)
显式接口实现私有方法 IEnumerable.GetEnumerator 返回 IEnumerator,其枚举的对象将针对数据库执行 SQL 查询。 (继承自 DbRawSqlQuery<TElement>。)
显式接口实现私有方法 IListSource.GetList 引发一个异常,该异常指示不支持直接绑定到存储查询。 (继承自 DbRawSqlQuery<TElement>。)
显式接口实现私有方法 IDbAsyncEnumerable.GetAsyncEnumerator 返回 IDbAsyncEnumerable,其枚举的对象将针对数据库执行 SQL 查询。 (继承自 DbRawSqlQuery<TElement>。)
显式接口实现私有方法 IDbAsyncEnumerable<TElement>.GetAsyncEnumerator 返回 IDbAsyncEnumerator<T>,其枚举的对象将针对数据库执行 SQL 查询。 (继承自 DbRawSqlQuery<TElement>。)

顶部

线程安全

此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

请参阅

参考

System.Data.Entity.Infrastructure 命名空间