EntityDataReader 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
從資料來源讀取順向的資料流。
public ref class EntityDataReader : System::Data::Common::DbDataReader, System::Data::IExtendedDataRecord
public class EntityDataReader : System.Data.Common.DbDataReader, System.Data.IExtendedDataRecord
type EntityDataReader = class
inherit DbDataReader
interface IExtendedDataRecord
interface IDataRecord
Public Class EntityDataReader
Inherits DbDataReader
Implements IExtendedDataRecord
- 繼承
- 實作
備註
結合 DbDataReader 類別 (Class) 和 IExtendedDataRecord 介面的功能。
EntityDataReader 沒有公用的建構函式。 它只能透過其中 EntityCommand.ExecuteReader
一個方法多載來取得。
SQL Server 會將來自預存程序的輸出參數置於結果資料流的結尾,在所有結果集的後面。 因此,如果要取得輸出參數值,應用程式必須使用所有結果集中的所有記錄。 如果應用程式關閉 EntityDataReader (這樣也會關閉 DbDataReader),輸出參數可能會無法填入。
EntityDataReader 不會以隱含方式使用結果集讓輸出參數變成可以使用。 因此,請特別留意下列情況:
EntityDataReader 只會在 DbDataReader.NextResult 被隱含呼叫時,才會呼叫 EntityDataReader.NextResult。 如果 DbDataReader.NextResult 擲回例外狀況,則會 EntityDataReader 將它包裝在 EntityException (或衍生的例外狀況) 中。
Close 只會關閉 DbDataReader,而不使用任何暫止的記錄或結果集。
Dispose 只會處置 DbDataReader,而不使用任何暫止的記錄或結果集。
如需程式代碼範例,請參閱 使用 EntityClient。
屬性
DataRecordInfo |
取得這個 DataRecordInfo 的 IExtendedDataRecord。 |
Depth |
取得值,表示目前資料列的巢狀深度。 |
FieldCount |
取得目前資料列中的資料行數目。 |
HasRows |
取得表示這個 EntityDataReader 是否包含一或多個資料列的值。 |
IsClosed |
取得值,表示 EntityDataReader 是否關閉。 |
Item[Int32] |
取得指定之資料行的值做為 Object 的執行個體。 |
Item[String] |
取得指定之資料行的值做為 Object 的執行個體。 |
RecordsAffected |
取得因執行 SQL 陳述式所變更、插入或刪除的資料列數目。 |
VisibleFieldCount |
取得 EntityDataReader 中沒有隱藏的欄位數。 |
方法
Close() |
關閉 EntityDataReader 物件。 |
CloseAsync() |
非同步關閉 DbDataReader 物件。 (繼承來源 DbDataReader) |
CreateObjRef(Type) |
建立包含所有相關資訊的物件,這些資訊是產生用來與遠端物件通訊的所需 Proxy。 (繼承來源 MarshalByRefObject) |
Dispose() |
釋放 DbDataReader 類別目前的執行個體所使用的全部資源。 (繼承來源 DbDataReader) |
Dispose(Boolean) |
釋放這個 EntityDataReader 所耗用的資源並呼叫 Close()。 |
DisposeAsync() |
以非同步方式將 DbDataReader 類別的目前執行個體所使用所有資源釋出。 (繼承來源 DbDataReader) |
Equals(Object) |
判斷指定的物件是否等於目前的物件。 (繼承來源 Object) |
GetBoolean(Int32) |
取得指定之資料行的值做為布林值 (Boolean)。 |
GetByte(Int32) |
取得指定資料行的值做為位元組。 |
GetBytes(Int32, Int64, Byte[], Int32, Int32) |
從指定的資料行 (開始於 |
GetChar(Int32) |
從指定的資料行取得單一字元形式的值。 |
GetChars(Int32, Int64, Char[], Int32, Int32) |
從指定的資料行 (開始於 |
GetColumnSchemaAsync(CancellationToken) |
這是 GetColumnSchema(DbDataReader) 的非同步版本。
提供者應該覆寫為適當的實作。
您可以選擇性地接受 |
GetData(Int32) |
傳回所要求資料行的巢狀資料讀取器。 (繼承來源 DbDataReader) |
GetDataReader(Int32) |
傳回巢狀讀取器做為 DbDataReader 物件。 |
GetDataRecord(Int32) |
傳回巢狀 DbDataRecord。 |
GetDataTypeName(Int32) |
取得指定之資料行的資料型別名稱。 |
GetDateTime(Int32) |
取得指定之資料行的值做為 DateTime 物件。 |
GetDbDataReader(Int32) |
傳回所要求資料行序數的 DbDataReader 物件,可使用提供者特定的實作 (Implementation) 覆寫。 |
GetDecimal(Int32) |
取得指定之資料行的值做為 Decimal 物件。 |
GetDouble(Int32) |
從指定的資料行取得雙精確度浮點數形式的值。 |
GetEnumerator() |
傳回 IEnumerator,可用來逐一查看資料讀取器中的資料列。 |
GetFieldType(Int32) |
取得指定資料行的資料類型。 |
GetFieldValue<T>(Int32) |
取得所指定資料行值作為要求類型。 (繼承來源 DbDataReader) |
GetFieldValueAsync<T>(Int32, CancellationToken) |
以非同步方式取得所指定資料行的值作為要求類型。 (繼承來源 DbDataReader) |
GetFieldValueAsync<T>(Int32) |
以非同步方式取得所指定資料行的值作為要求類型。 (繼承來源 DbDataReader) |
GetFloat(Int32) |
取得指定資料行的值做為單精確度浮點數。 |
GetGuid(Int32) |
取得指定資料行的值做為全域唯一識別項 (GUID)。 |
GetHashCode() |
做為預設雜湊函式。 (繼承來源 Object) |
GetInt16(Int32) |
取得指定資料行的值做為 16 位元帶正負號的整數。 |
GetInt32(Int32) |
取得指定資料行的值作為 32 位元帶正負號的整數。 |
GetInt64(Int32) |
取得指定資料行的值做為 64 位元帶正負號的整數 (Signed Integer)。 |
GetLifetimeService() |
已淘汰.
擷取控制這個執行個體存留期 (Lifetime) 原則的目前存留期服務物件。 (繼承來源 MarshalByRefObject) |
GetName(Int32) |
在已知以零為基底的資料行序數的情況下,取得資料行的名稱。 |
GetOrdinal(String) |
在已知資料行名稱的情況下,取得資料行序數。 |
GetProviderSpecificFieldType(Int32) |
傳回指定資料行的提供者特定的欄位型別 (Field Type)。 |
GetProviderSpecificValue(Int32) |
取得指定之資料行的值做為 Object 的執行個體。 |
GetProviderSpecificValues(Object[]) |
為目前的資料列在集合中取得所有提供者特定的屬性資料行。 |
GetSchemaTable() |
傳回 DataTable,以描述 DbDataReader 的資料行中繼資料。 |
GetSchemaTableAsync(CancellationToken) |
這是 GetSchemaTable() 的非同步版本。
提供者應該覆寫為適當的實作。
您可以選擇性地接受 |
GetStream(Int32) |
取得資料流以從指定的資料行擷取資料。 (繼承來源 DbDataReader) |
GetString(Int32) |
取得指定之資料行的值做為 String 的執行個體。 |
GetTextReader(Int32) |
取得文字讀取器以從資料行擷取資料。 (繼承來源 DbDataReader) |
GetType() |
取得目前執行個體的 Type。 (繼承來源 Object) |
GetValue(Int32) |
取得指定之資料行的值做為 Object 的執行個體。 |
GetValues(Object[]) |
使用目前資料列的資料行值填入物件陣列。 |
InitializeLifetimeService() |
已淘汰.
取得存留期服務物件,以控制這個執行個體的存留期原則。 (繼承來源 MarshalByRefObject) |
IsDBNull(Int32) |
取得值,這個值表示資料行是否包含不存在或遺漏的值。 |
IsDBNullAsync(Int32, CancellationToken) |
以非同步方式取得值,指出資料行是否包含不存在或遺漏的值。 (繼承來源 DbDataReader) |
IsDBNullAsync(Int32) |
以非同步方式取得值,指出資料行是否包含不存在或遺漏的值。 (繼承來源 DbDataReader) |
MemberwiseClone() |
建立目前 Object 的淺層複製。 (繼承來源 Object) |
MemberwiseClone(Boolean) |
建立目前 MarshalByRefObject 物件的淺層複本。 (繼承來源 MarshalByRefObject) |
NextResult() |
在讀取陳述式批次的結果時,會將讀取器向前移到下一個結果。 |
NextResultAsync() |
在讀取陳述式批次的結果時,以非同步方式將讀取器向前移到下一個結果。 (繼承來源 DbDataReader) |
NextResultAsync(CancellationToken) |
在讀取陳述式批次的結果時,以非同步方式將讀取器向前移到下一個結果。 (繼承來源 DbDataReader) |
Read() |
將讀取器向前移到結果集中的下一個資料錄。 |
ReadAsync() |
以非同步方式將讀取器向前移到結果集中的下一筆記錄。 (繼承來源 DbDataReader) |
ReadAsync(CancellationToken) |
以非同步方式將讀取器向前移到結果集中的下一筆記錄。 (繼承來源 DbDataReader) |
ToString() |
傳回代表目前物件的字串。 (繼承來源 Object) |
明確介面實作
IDataRecord.GetData(Int32) |
如需這個成員的說明,請參閱 GetData(Int32)。 (繼承來源 DbDataReader) |
擴充方法
CanGetColumnSchema(DbDataReader) |
取得值,指出 DbDataReader 是否可取得資料行結構描述。 |
GetColumnSchema(DbDataReader) |
取得 DbDataReader 的資料行結構描述 (DbColumn 集合)。 |
Cast<TResult>(IEnumerable) |
將 IEnumerable 的項目轉換成指定的型別。 |
OfType<TResult>(IEnumerable) |
根據指定的型別來篩選 IEnumerable 的項目。 |
AsParallel(IEnumerable) |
啟用查詢的平行化作業。 |
AsQueryable(IEnumerable) |
將 IEnumerable 轉換成 IQueryable。 |