RyanJuan.Minerva.SqlClient by RyanJuan

<PackageReference Include="RyanJuan.Minerva.SqlClient" Version="1.1.0-beta00204" />

 MinervaSqlClient

public static class MinervaSqlClient
public static IReadOnlyCollection<DbType> ValidDbTypes { get; }

所有 SqlParameter 允許的 DbType

public static SqlParameterCollection AddWithValues(this SqlParameterCollection collection, object[] parameters)

以傳入物件中的屬性建立對映的資料庫參數 SqlParameter 物件, 並存入 SqlParameterCollection 之中。

在建立 SqlParameter 物件時,參數的名稱會自動從物件的屬性取得。 物件屬性若有設定 DbParameterNameAttribute 時,會以此參數名稱做為對映, 若物件屬性有設定多個 DbParameterNameAttribute 時, 會產生對映的複數個 SqlParameter 物件; 其次若是物件屬性有設定 DbColumnNameAttributeUseAsParameter 值設為 true 時, 會以欄位名稱 Name 作為參數名稱建立額外的 SqlParameter 物件; 若是上述屬性都沒有設定,則會使用屬性名稱做為參數名稱。

如果參數名稱已經存在於 SqlParameterCollection 物件之中, 則該屬性會被忽略,保留已經存在 SqlParameterCollection 中的參數。

建立 SqlParameter 物件後,在存入值之前會先設定參數型別。 物件屬性若有設定 DbTypeAttribute 時,會以此設定的型別做為參數型別, 否則會以該屬性的宣告型別所對應的資料庫型別做為參數型別。

如果設定的參數型別不合法,則會拋出 ArgumentException

public static SqlTransaction BeginTransaction(this SqlConnection connection, SqlCommand command)

使用指定的 SqlCommand 開始資料庫交易。

public static SqlTransaction BeginTransaction(this SqlConnection connection, SqlCommand command, IsolationLevel iso)

使用指定的 SqlCommand 與交易層級開始資料庫交易。

public static SqlTransaction BeginTransaction(this SqlConnection connection, SqlCommand command, string transactionName)

使用指定的 SqlCommand 與交易名稱開始資料庫交易。

public static SqlTransaction BeginTransaction(this SqlConnection connection, SqlCommand command, IsolationLevel iso, string transactionName)

使用指定的 SqlCommand、交易層級與交易名稱開始資料庫交易。

public static int Execute(this SqlCommand command, object[] parameters)

針對連接執行 Transact-SQL 陳述式,並傳回受影響的資料列數目。

會以 Parameters 呼叫 AddWithValues 以存入參數。

public static Task<int> ExecuteAsync(this SqlCommand command, object[] parameters)

非同步版本的 Execute。 針對連接執行 Transact-SQL 陳述式,並傳回受影響的資料列數目。

會以 Parameters 呼叫 AddWithValues 以存入參數。

public static Task<int> ExecuteAsync(this SqlCommand command, CancellationToken cancellationToken, object[] parameters)

非同步版本的 Execute。 針對連接執行 Transact-SQL 陳述式,並傳回受影響的資料列數目。 取消語彙基元可用於要求在命令逾時之前取消作業。

會以 Parameters 呼叫 AddWithValues 以存入參數。

public static IEnumerable<T> FetchData<T>(this SqlCommand command, object[] parameters)

執行查詢,並傳回查詢所傳回的結果集序列。

查詢結果的資料型別若為一般值型別,會直接以值回傳序列。 型別若為物件,則會以查詢結果集的資料欄位名稱,對映物件中可寫入的屬性。 物件屬性若有設定 DbColumnNameAttribute 時,會以此欄位名稱做為對映, 若有多個屬性都有設定相同名稱的 DbColumnNameAttribute, 則單一欄位會對映到複數物件屬性。 如果沒有符合的 DbColumnNameAttribute,則會使用屬性名稱對映。

會以 Parameters 呼叫 AddWithValues 以存入參數。

public static IEnumerable<T> FetchData<T>(this SqlCommand command, CommandBehavior behavior, object[] parameters)

執行查詢,並傳回查詢所傳回的結果集序列。

查詢結果的資料型別若為一般值型別,會直接以值回傳序列。 型別若為物件,則會以查詢結果集的資料欄位名稱,對映物件中可寫入的屬性。 物件屬性若有設定 DbColumnNameAttribute 時,會以此欄位名稱做為對映, 若有多個屬性都有設定相同名稱的 DbColumnNameAttribute, 則單一欄位會對映到複數物件屬性。 如果沒有符合的 DbColumnNameAttribute,則會使用屬性名稱對映。

會以 Parameters 呼叫 AddWithValues 以存入參數。

public static IEnumerable<T> FetchData<T>(this SqlCommand command, FetchMode fetchMode, object[] parameters)

執行查詢,並傳回查詢所傳回的結果集序列。

查詢結果的資料型別若為一般值型別,會直接以值回傳序列。 型別若為物件,則會以查詢結果集的資料欄位名稱,對映物件中可寫入的屬性。 物件屬性若有設定 DbColumnNameAttribute 時,會以此欄位名稱做為對映, 若有多個屬性都有設定相同名稱的 DbColumnNameAttribute, 則單一欄位會對映到複數物件屬性。 如果沒有符合的 DbColumnNameAttribute,則會使用屬性名稱對映。

會以 Parameters 呼叫 AddWithValues 以存入參數。

public static IEnumerable<T> FetchData<T>(this SqlCommand command, CommandBehavior behavior, FetchMode fetchMode, object[] parameters)

執行查詢,並傳回查詢所傳回的結果集序列。

查詢結果的資料型別若為一般值型別,會直接以值回傳序列。 型別若為物件,則會以查詢結果集的資料欄位名稱,對映物件中可寫入的屬性。 物件屬性若有設定 DbColumnNameAttribute 時,會以此欄位名稱做為對映, 若有多個屬性都有設定相同名稱的 DbColumnNameAttribute, 則單一欄位會對映到複數物件屬性。 如果沒有符合的 DbColumnNameAttribute,則會使用屬性名稱對映。

會以 Parameters 呼叫 AddWithValues 以存入參數。

public static Task<IEnumerable<T>> FetchDataAsync<T>(this SqlCommand command, object[] parameters)

非同步版本的 FetchData<T>。 執行查詢,並傳回查詢所傳回的結果集序列。

查詢結果的資料型別若為一般值型別,會直接以值回傳序列。 型別若為物件,則會以查詢結果集的資料欄位名稱,對映物件中可寫入的屬性。 物件屬性若有設定 DbColumnNameAttribute 時,會以此欄位名稱做為對映, 若有多個屬性都有設定相同名稱的 DbColumnNameAttribute, 則單一欄位會對映到複數物件屬性。 如果沒有符合的 DbColumnNameAttribute,則會使用屬性名稱對映。

會以 Parameters 呼叫 AddWithValues 以存入參數。

public static Task<IEnumerable<T>> FetchDataAsync<T>(this SqlCommand command, CommandBehavior behavior, object[] parameters)

非同步版本的 FetchData<T>。 執行查詢,並傳回查詢所傳回的結果集序列。

查詢結果的資料型別若為一般值型別,會直接以值回傳序列。 型別若為物件,則會以查詢結果集的資料欄位名稱,對映物件中可寫入的屬性。 物件屬性若有設定 DbColumnNameAttribute 時,會以此欄位名稱做為對映, 若有多個屬性都有設定相同名稱的 DbColumnNameAttribute, 則單一欄位會對映到複數物件屬性。 如果沒有符合的 DbColumnNameAttribute,則會使用屬性名稱對映。

會以 Parameters 呼叫 AddWithValues 以存入參數。

public static Task<IEnumerable<T>> FetchDataAsync<T>(this SqlCommand command, FetchMode fetchMode, object[] parameters)

非同步版本的 FetchData<T>。 執行查詢,並傳回查詢所傳回的結果集序列。

查詢結果的資料型別若為一般值型別,會直接以值回傳序列。 型別若為物件,則會以查詢結果集的資料欄位名稱,對映物件中可寫入的屬性。 物件屬性若有設定 DbColumnNameAttribute 時,會以此欄位名稱做為對映, 若有多個屬性都有設定相同名稱的 DbColumnNameAttribute, 則單一欄位會對映到複數物件屬性。 如果沒有符合的 DbColumnNameAttribute,則會使用屬性名稱對映。

會以 Parameters 呼叫 AddWithValues 以存入參數。

public static Task<IEnumerable<T>> FetchDataAsync<T>(this SqlCommand command, CommandBehavior behavior, FetchMode fetchMode, object[] parameters)

非同步版本的 FetchData<T>。 執行查詢,並傳回查詢所傳回的結果集序列。

查詢結果的資料型別若為一般值型別,會直接以值回傳序列。 型別若為物件,則會以查詢結果集的資料欄位名稱,對映物件中可寫入的屬性。 物件屬性若有設定 DbColumnNameAttribute 時,會以此欄位名稱做為對映, 若有多個屬性都有設定相同名稱的 DbColumnNameAttribute, 則單一欄位會對映到複數物件屬性。 如果沒有符合的 DbColumnNameAttribute,則會使用屬性名稱對映。

會以 Parameters 呼叫 AddWithValues 以存入參數。

public static Task<IEnumerable<T>> FetchDataAsync<T>(this SqlCommand command, CancellationToken cancellationToken, object[] parameters)

非同步版本的 FetchData<T>。 執行查詢,並傳回查詢所傳回的結果集序列。 取消語彙基元可用於要求在命令逾時之前取消作業。

查詢結果的資料型別若為一般值型別,會直接以值回傳序列。 型別若為物件,則會以查詢結果集的資料欄位名稱,對映物件中可寫入的屬性。 物件屬性若有設定 DbColumnNameAttribute 時,會以此欄位名稱做為對映, 若有多個屬性都有設定相同名稱的 DbColumnNameAttribute, 則單一欄位會對映到複數物件屬性。 如果沒有符合的 DbColumnNameAttribute,則會使用屬性名稱對映。

會以 Parameters 呼叫 AddWithValues 以存入參數。

public static Task<IEnumerable<T>> FetchDataAsync<T>(this SqlCommand command, CommandBehavior behavior, CancellationToken cancellationToken, object[] parameters)

非同步版本的 FetchData<T>。 執行查詢,並傳回查詢所傳回的結果集序列。 取消語彙基元可用於要求在命令逾時之前取消作業。

查詢結果的資料型別若為一般值型別,會直接以值回傳序列。 型別若為物件,則會以查詢結果集的資料欄位名稱,對映物件中可寫入的屬性。 物件屬性若有設定 DbColumnNameAttribute 時,會以此欄位名稱做為對映, 若有多個屬性都有設定相同名稱的 DbColumnNameAttribute, 則單一欄位會對映到複數物件屬性。 如果沒有符合的 DbColumnNameAttribute,則會使用屬性名稱對映。

會以 Parameters 呼叫 AddWithValues 以存入參數。

public static Task<IEnumerable<T>> FetchDataAsync<T>(this SqlCommand command, FetchMode fetchMode, CancellationToken cancellationToken, object[] parameters)

非同步版本的 FetchData<T>。 執行查詢,並傳回查詢所傳回的結果集序列。 取消語彙基元可用於要求在命令逾時之前取消作業。

查詢結果的資料型別若為一般值型別,會直接以值回傳序列。 型別若為物件,則會以查詢結果集的資料欄位名稱,對映物件中可寫入的屬性。 物件屬性若有設定 DbColumnNameAttribute 時,會以此欄位名稱做為對映, 若有多個屬性都有設定相同名稱的 DbColumnNameAttribute, 則單一欄位會對映到複數物件屬性。 如果沒有符合的 DbColumnNameAttribute,則會使用屬性名稱對映。

會以 Parameters 呼叫 AddWithValues 以存入參數。

public static Task<IEnumerable<T>> FetchDataAsync<T>(this SqlCommand command, CommandBehavior behavior, FetchMode fetchMode, CancellationToken cancellationToken, object[] parameters)

非同步版本的 FetchData<T>。 執行查詢,並傳回查詢所傳回的結果集序列。 取消語彙基元可用於要求在命令逾時之前取消作業。

查詢結果的資料型別若為一般值型別,會直接以值回傳序列。 型別若為物件,則會以查詢結果集的資料欄位名稱,對映物件中可寫入的屬性。 物件屬性若有設定 DbColumnNameAttribute 時,會以此欄位名稱做為對映, 若有多個屬性都有設定相同名稱的 DbColumnNameAttribute, 則單一欄位會對映到複數物件屬性。 如果沒有符合的 DbColumnNameAttribute,則會使用屬性名稱對映。

會以 Parameters 呼叫 AddWithValues 以存入參數。

public static T FetchFirst<T>(this SqlCommand command, object[] parameters)

執行查詢,並傳回查詢所傳回的結果集中唯一一筆資料,如果沒有資料,則為預設值。 如果結果集中有多個項目,則這個方法會擲回例外狀況。

會以 Parameters 呼叫 AddWithValues 以存入參數。

public static Task<T> FetchFirstAsync<T>(this SqlCommand command, object[] parameters)

非同步版本的 FetchFirst<T>。 執行查詢,並傳回查詢所傳回的結果集中唯一一筆資料,如果沒有資料,則為預設值。 如果結果集中有多個項目,則這個方法會擲回例外狀況。

會以 Parameters 呼叫 AddWithValues 以存入參數。

public static Task<T> FetchFirstAsync<T>(this SqlCommand command, CancellationToken cancellationToken, object[] parameters)

非同步版本的 FetchFirst<T>。 執行查詢,並傳回查詢所傳回的結果集中唯一一筆資料,如果沒有資料,則為預設值。 如果結果集中有多個項目,則這個方法會擲回例外狀況。 取消語彙基元可用於要求在命令逾時之前取消作業。

會以 Parameters 呼叫 AddWithValues 以存入參數。

public static T FetchFirstOrDefault<T>(this SqlCommand command, object[] parameters)

執行查詢,並傳回查詢所傳回的結果集中唯一一筆資料,如果沒有資料,則為預設值。 如果結果集中有多個項目,則這個方法會擲回例外狀況。

會以 Parameters 呼叫 AddWithValues 以存入參數。

public static Task<T> FetchFirstOrDefaultAsync<T>(this SqlCommand command, object[] parameters)

非同步版本的 FetchFirstOrDefault<T>。 執行查詢,並傳回查詢所傳回的結果集中唯一一筆資料,如果沒有資料,則為預設值。 如果結果集中有多個項目,則這個方法會擲回例外狀況。

會以 Parameters 呼叫 AddWithValues 以存入參數。

public static Task<T> FetchFirstOrDefaultAsync<T>(this SqlCommand command, CancellationToken cancellationToken, object[] parameters)

非同步版本的 FetchFirstOrDefault<T>。 執行查詢,並傳回查詢所傳回的結果集中唯一一筆資料,如果沒有資料,則為預設值。 如果結果集中有多個項目,則這個方法會擲回例外狀況。 取消語彙基元可用於要求在命令逾時之前取消作業。

會以 Parameters 呼叫 AddWithValues 以存入參數。

public static T FetchScalar<T>(this SqlCommand command, object[] parameters)

執行查詢,並傳回查詢所傳回的結果集第一個資料列的第一個資料行。 會忽略其他的資料行或資料列。

會以 Parameters 呼叫 AddWithValues 以存入參數。

public static Task<T> FetchScalarAsync<T>(this SqlCommand command, object[] parameters)

非同步版本的 FetchScalar<T>。 執行查詢,並傳回查詢所傳回的結果集第一個資料列的第一個資料行。 會忽略其他的資料行或資料列。

會以 Parameters 呼叫 AddWithValues 以存入參數。

public static Task<T> FetchScalarAsync<T>(this SqlCommand command, CancellationToken cancellationToken, object[] parameters)

非同步版本的 FetchScalar<T>。 執行查詢,並傳回查詢所傳回的結果集第一個資料列的第一個資料行。 會忽略其他的資料行或資料列。 取消語彙基元可用於要求在命令逾時之前取消作業。

會以 Parameters 呼叫 AddWithValues 以存入參數。

public static T FetchSingle<T>(this SqlCommand command, object[] parameters)

執行查詢,並傳回查詢所傳回的結果集中唯一一筆資料,如果沒有資料,則為預設值。 如果結果集中有多個項目,則這個方法會擲回例外狀況。

會以 Parameters 呼叫 AddWithValues 以存入參數。

public static Task<T> FetchSingleAsync<T>(this SqlCommand command, object[] parameters)

非同步版本的 FetchSingle<T>。 執行查詢,並傳回查詢所傳回的結果集中唯一一筆資料,如果沒有資料,則為預設值。 如果結果集中有多個項目,則這個方法會擲回例外狀況。

會以 Parameters 呼叫 AddWithValues 以存入參數。

public static Task<T> FetchSingleAsync<T>(this SqlCommand command, CancellationToken cancellationToken, object[] parameters)

非同步版本的 FetchSingle<T>。 執行查詢,並傳回查詢所傳回的結果集中唯一一筆資料,如果沒有資料,則為預設值。 如果結果集中有多個項目,則這個方法會擲回例外狀況。 取消語彙基元可用於要求在命令逾時之前取消作業。

會以 Parameters 呼叫 AddWithValues 以存入參數。

public static T FetchSingleOrDefault<T>(this SqlCommand command, object[] parameters)

執行查詢,並傳回查詢所傳回的結果集中唯一一筆資料,如果沒有資料,則為預設值。 如果結果集中有多個項目,則這個方法會擲回例外狀況。

會以 Parameters 呼叫 AddWithValues 以存入參數。

public static Task<T> FetchSingleOrDefaultAsync<T>(this SqlCommand command, object[] parameters)

非同步版本的 FetchSingleOrDefault<T>。 執行查詢,並傳回查詢所傳回的結果集中唯一一筆資料,如果沒有資料,則為預設值。 如果結果集中有多個項目,則這個方法會擲回例外狀況。

會以 Parameters 呼叫 AddWithValues 以存入參數。

public static Task<T> FetchSingleOrDefaultAsync<T>(this SqlCommand command, CancellationToken cancellationToken, object[] parameters)

非同步版本的 FetchSingleOrDefault<T>。 執行查詢,並傳回查詢所傳回的結果集中唯一一筆資料,如果沒有資料,則為預設值。 如果結果集中有多個項目,則這個方法會擲回例外狀況。 取消語彙基元可用於要求在命令逾時之前取消作業。

會以 Parameters 呼叫 AddWithValues 以存入參數。

public static SqlConnection OpenConnection(string connectionString)

public static SqlConnection OpenConnection(string connectionString, SqlCredential credential)

public static Task<SqlConnection> OpenConnectionAsync(string connectionString)

public static Task<SqlConnection> OpenConnectionAsync(string connectionString, SqlCredential credential)

public static Task<SqlConnection> OpenConnectionAsync(string connectionString, CancellationToken cancellationToken)

public static Task<SqlConnection> OpenConnectionAsync(string connectionString, SqlCredential credential, CancellationToken cancellationToken)

public static decimal ScopeIdentityDecimal(this SqlConnection connection)

public static Task<decimal> ScopeIdentityDecimalAsync(this SqlConnection connection)

public static Task<decimal> ScopeIdentityDecimalAsync(this SqlConnection connection, CancellationToken cancellationToken)

public static int ScopeIdentityInt(this SqlConnection connection)

public static Task<int> ScopeIdentityIntAsync(this SqlConnection connection)

public static Task<int> ScopeIdentityIntAsync(this SqlConnection connection, CancellationToken cancellationToken)