ObjectQuery 類別
[此頁面專屬於 Entity Framework 第 6 版。最新版本可從 'Entity Framework' NuGet 套件取得。如需 Entity Framework 的詳細資訊,請參閱 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 | 傳回集合當做用於資料繫結 (Data Binding) 的 IList。 | |
IQueryable.Provider | 取得與此查詢執行個體相關聯的 IQueryProvider。 | |
IDbAsyncEnumerable.GetAsyncEnumerator | 傳回 IDbAsyncEnumerator,其在列舉時會對資料庫執行指定的 SQL 查詢。 |
靠上
執行緒安全
這個類型的任何 Public static (在 Visual Basic 中為 Shared) 成員都是安全執行緒。並非所有的執行個體成員都是安全執行緒。