DbSqlQuery<TEntity> 類別

[此頁面專屬於 Entity Framework 第 6 版。最新版本可從 'Entity Framework' NuGet 套件取得。如需 Entity Framework 的詳細資訊,請參閱 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> 從將要做為 SqlQuery(String, array<Object[]) 的測試複本使用之衍生類型的建構函式呼叫時,建立 DbSqlQuery<TEntity> 的執行個體。供測試複本使用的方法和屬性必須由測試複本實作,唯獨預設實作不執行任何作業的 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) 使用預設的相等比較子 (Comparer) 來非同步判斷查詢是否包含指定的項目。 (繼承自 DbRawSqlQuery<TElement>)。
公用方法 ContainsAsync(TElement, CancellationToken) 使用預設的相等比較子 (Comparer) 來非同步判斷查詢是否包含指定的項目。 (繼承自 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>)。

靠上

執行緒安全

這個類型的任何 Public static (在 Visual Basic 中為 Shared) 成員都是安全執行緒。並非所有的執行個體成員都是安全執行緒。

請參閱

參考

System.Data.Entity.Infrastructure 命名空間