共用方式為


RelationalStorageExtensions.ReadAsync 方法

定義

多載

ReadAsync<TResult>(IRelationalStorage, String, CancellationToken)

搭配DbExtensions.ReflectionParameterProvider使用 IRelationalStorage

ReadAsync<TResult>(IRelationalStorage, String, Func<IDataRecord,TResult>, Action<IDbCommand>)

簡化版本的 ReadAsync<TResult>(String, Action<IDbCommand>, Func<IDataRecord,Int32,CancellationToken,Task<TResult>>, CancellationToken, CommandBehavior)

ReadAsync<TResult>(IRelationalStorage, String, Object, CancellationToken)

搭配 ReflectionParameterProvider<T>(IDbCommand, T, IReadOnlyDictionary<String,String>) 使用 IRelationalStorage

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

參數

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 });

適用於