RelationalDatabaseFacadeExtensions.ExecuteSqlRawAsync メソッド

定義

オーバーロード

ExecuteSqlRawAsync(DatabaseFacade, String, IEnumerable<Object>, CancellationToken)

データベースに対して指定された SQL を実行し、影響を受けた行数を返します。

ExecuteSqlRawAsync(DatabaseFacade, String, Object[])

データベースに対して指定された SQL を実行し、影響を受けた行数を返します。

ExecuteSqlRawAsync(DatabaseFacade, String, CancellationToken)

データベースに対して指定された SQL を実行し、影響を受けた行数を返します。

ExecuteSqlRawAsync(DatabaseFacade, String, IEnumerable<Object>, CancellationToken)

データベースに対して指定された SQL を実行し、影響を受けた行数を返します。

public static System.Threading.Tasks.Task<int> ExecuteSqlRawAsync (this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, string sql, System.Collections.Generic.IEnumerable<object> parameters, System.Threading.CancellationToken cancellationToken = default);
static member ExecuteSqlRawAsync : Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade * string * seq<obj> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<int>
<Extension()>
Public Function ExecuteSqlRawAsync (databaseFacade As DatabaseFacade, sql As String, parameters As IEnumerable(Of Object), Optional cancellationToken As CancellationToken = Nothing) As Task(Of Integer)

パラメーター

databaseFacade
DatabaseFacade

DatabaseFacadeコンテキストの 。

sql
String

実行する SQL。

parameters
IEnumerable<Object>

SQL で使用するパラメーター。

cancellationToken
CancellationToken

CancellationTokenタスクの完了を待機している間に観察する 。

戻り値

非同期操作を表すタスク。 タスクの結果は、影響を受ける行の数です。

例外

CancellationToken が取り消されている場合。

注釈

このメソッドはトランザクションを開始しないことに注意してください。 トランザクションでこのメソッドを使用するには、最初に または を呼び出 BeginTransaction(DatabaseFacade, IsolationLevel) します UseTransaction

SQL はべき等ではない可能性があり、トランザクションでは実行されないため、現在 ExecutionStrategy の は、このメソッドでは使用されないことに注意してください。 ExecutionStrategy は明示的に使用できるため、SQL がべき等でない場合もトランザクションを使用してください。

SQL を受け入れる API と同様に、SQL インジェクション攻撃から保護するために、ユーザー入力をパラメーター化することが重要です。 SQL クエリ文字列にパラメーター プレース ホルダーを含め、追加の引数としてパラメーター値を指定できます。 指定したパラメーター値は、自動的に DbParameter に変換されます。

ただし、検証されていないユーザー指定の値を持つ連結文字列または補間文字列 ($"") をこのメソッドに渡すことはありません。 そうすることで、アプリケーションが SQL インジェクション攻撃にさらされる可能性があります。 補間された文字列構文を使用するには、 を使用して ExecuteSqlAsync(DatabaseFacade, FormattableString, CancellationToken) パラメーターを作成することを検討してください。

詳細と例については、「 EF Core を使用した生 SQL コマンドの実行 」を参照してください。

適用対象

ExecuteSqlRawAsync(DatabaseFacade, String, Object[])

データベースに対して指定された SQL を実行し、影響を受けた行数を返します。

public static System.Threading.Tasks.Task<int> ExecuteSqlRawAsync (this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, string sql, params object[] parameters);
static member ExecuteSqlRawAsync : Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade * string * obj[] -> System.Threading.Tasks.Task<int>
<Extension()>
Public Function ExecuteSqlRawAsync (databaseFacade As DatabaseFacade, sql As String, ParamArray parameters As Object()) As Task(Of Integer)

パラメーター

databaseFacade
DatabaseFacade

DatabaseFacadeコンテキストの 。

sql
String

実行する SQL。

parameters
Object[]

SQL で使用するパラメーター。

戻り値

非同期操作を表すタスク。 タスクの結果は、影響を受ける行の数です。

注釈

このメソッドはトランザクションを開始しないことに注意してください。 トランザクションでこのメソッドを使用するには、最初に または を呼び出 BeginTransaction(DatabaseFacade, IsolationLevel) します UseTransaction

SQL はべき等ではない可能性があり、トランザクションでは実行されないため、現在 ExecutionStrategy の は、このメソッドでは使用されないことに注意してください。 を ExecutionStrategy 明示的に使用できるため、SQL がべき等でない場合もトランザクションを使用してください。

SQL を受け入れる API と同様に、SQL インジェクション攻撃から保護するために、ユーザー入力をパラメーター化することが重要です。 SQL クエリ文字列にパラメーター プレース ホルダーを含め、追加の引数としてパラメーター値を指定できます。 指定したパラメーター値は、自動的に DbParameter に変換されます。

ただし、検証されていないユーザー指定の値を持つ連結文字列または補間文字列 ($"") をこのメソッドに渡すことはありません。 そうすることで、アプリケーションが SQL インジェクション攻撃にさらされる可能性があります。 補間された文字列構文を使用するには、 を使用して ExecuteSqlAsync(DatabaseFacade, FormattableString, CancellationToken) パラメーターを作成することを検討してください。

詳細と例については、「 EF Core を使用した生 SQL コマンドの実行 」を参照してください。

適用対象

ExecuteSqlRawAsync(DatabaseFacade, String, CancellationToken)

データベースに対して指定された SQL を実行し、影響を受けた行数を返します。

public static System.Threading.Tasks.Task<int> ExecuteSqlRawAsync (this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, string sql, System.Threading.CancellationToken cancellationToken = default);
static member ExecuteSqlRawAsync : Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade * string * System.Threading.CancellationToken -> System.Threading.Tasks.Task<int>
<Extension()>
Public Function ExecuteSqlRawAsync (databaseFacade As DatabaseFacade, sql As String, Optional cancellationToken As CancellationToken = Nothing) As Task(Of Integer)

パラメーター

databaseFacade
DatabaseFacade

DatabaseFacadeコンテキストの 。

sql
String

実行する SQL。

cancellationToken
CancellationToken

CancellationTokenタスクの完了を待機している間に観察する 。

戻り値

非同期操作を表すタスク。 タスクの結果は、影響を受ける行の数です。

例外

CancellationToken が取り消されている場合。

注釈

このメソッドはトランザクションを開始しないことに注意してください。 トランザクションでこのメソッドを使用するには、最初に または を呼び出 BeginTransaction(DatabaseFacade, IsolationLevel) します UseTransaction

SQL はべき等ではない可能性があり、トランザクションでは実行されないため、現在 ExecutionStrategy の は、このメソッドでは使用されないことに注意してください。 を ExecutionStrategy 明示的に使用できるため、SQL がべき等でない場合もトランザクションを使用してください。

検証されていないユーザー指定の値を持つ連結文字列または補間文字列 ($"") をこのメソッドに渡すことはありません。 そうすることで、アプリケーションが SQL インジェクション攻撃にさらされる可能性があります。

詳細と例については、「 EF Core を使用した生 SQL コマンドの実行 」を参照してください。

適用対象