RelationalStorageExtensions.ReadAsync 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
ReadAsync<TResult>(IRelationalStorage, String, CancellationToken)
public static System.Threading.Tasks.Task<System.Collections.Generic.IEnumerable<TResult>> ReadAsync<TResult> (this Orleans.SqlUtils.IRelationalStorage storage, string query, System.Threading.CancellationToken cancellationToken = default);
static member ReadAsync : Orleans.SqlUtils.IRelationalStorage * string * System.Threading.CancellationToken -> System.Threading.Tasks.Task<seq<'Result>>
<Extension()>
Public Function ReadAsync(Of TResult) (storage As IRelationalStorage, query As String, Optional cancellationToken As CancellationToken = Nothing) As Task(Of IEnumerable(Of TResult))
類型參數
- TResult
結果的類型。
參數
- storage
- IRelationalStorage
要使用的儲存體。
- query
- String
執行指定的 語句。 特別用於 SELECT 語句,但也適用于其他查詢。
- cancellationToken
- CancellationToken
取消語彙基元。 預設值為 None。
傳回
Task<IEnumerable<TResult>>
物件清單,做為 的結果 。
適用於
ReadAsync<TResult>(IRelationalStorage, String, Func<IDataRecord,TResult>, Action<IDbCommand>)
public static System.Threading.Tasks.Task<System.Collections.Generic.IEnumerable<TResult>> ReadAsync<TResult> (this Orleans.SqlUtils.IRelationalStorage storage, string query, Func<System.Data.IDataRecord,TResult> selector, Action<System.Data.IDbCommand> parameterProvider);
static member ReadAsync : Orleans.SqlUtils.IRelationalStorage * string * Func<System.Data.IDataRecord, 'Result> * Action<System.Data.IDbCommand> -> System.Threading.Tasks.Task<seq<'Result>>
<Extension()>
Public Function ReadAsync(Of TResult) (storage As IRelationalStorage, query As String, selector As Func(Of IDataRecord, TResult), parameterProvider As Action(Of IDbCommand)) As Task(Of IEnumerable(Of TResult))
類型參數
- TResult
參數
- storage
- IRelationalStorage
- query
- String
- selector
- Func<IDataRecord,TResult>
- parameterProvider
- Action<IDbCommand>
傳回
Task<IEnumerable<TResult>>
適用於
ReadAsync<TResult>(IRelationalStorage, String, Object, CancellationToken)
public static System.Threading.Tasks.Task<System.Collections.Generic.IEnumerable<TResult>> ReadAsync<TResult> (this Orleans.SqlUtils.IRelationalStorage storage, string query, object parameters, System.Threading.CancellationToken cancellationToken = default);
static member ReadAsync : Orleans.SqlUtils.IRelationalStorage * string * obj * System.Threading.CancellationToken -> System.Threading.Tasks.Task<seq<'Result>>
<Extension()>
Public Function ReadAsync(Of TResult) (storage As IRelationalStorage, query As String, parameters As Object, Optional cancellationToken As CancellationToken = Nothing) As Task(Of IEnumerable(Of TResult))
類型參數
- TResult
結果的類型。
參數
- storage
- IRelationalStorage
要使用的儲存體。
- query
- String
執行指定的 語句。 特別用於 SELECT 語句,但也適用于其他查詢。
- parameters
- Object
將參數新增至查詢。 參數名稱必須符合查詢中定義的名稱。
- cancellationToken
- CancellationToken
取消語彙基元。 預設值為 None。
傳回
Task<IEnumerable<TResult>>
物件清單,做為 的結果 。
範例
這會使用反映來讀取結果,並比對參數。
//This struct holds the return value in this example.
public struct Information
{
public string TABLE_CATALOG { get; set; }
public string TABLE_NAME { get; set; }
}
//Here reflection (<seealso cref="M:Orleans.SqlUtils.DbExtensions.ReflectionParameterProvider``1(System.Data.IDbCommand,``0,System.Collections.Generic.IReadOnlyDictionary{System.String,System.String})"></seealso>)
is used to match parameter names as well as to read back the results (<seealso cref="M:Orleans.SqlUtils.DbExtensions.ReflectionSelector``1(System.Data.IDataRecord)"></seealso>).
var query = "SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = @tname;";
IEnumerable<Information> informationData = await db.ReadAsync<Information>(query, new { tname = 200000 });