次の方法で共有


RelationalDatabaseFacadeExtensions.ExecuteSql メソッド

定義

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

public static int ExecuteSql (this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, FormattableString sql);
static member ExecuteSql : Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade * FormattableString -> int
<Extension()>
Public Function ExecuteSql (databaseFacade As DatabaseFacade, sql As FormattableString) As Integer

パラメーター

databaseFacade
DatabaseFacade

DatabaseFacadeコンテキストの 。

sql
FormattableString

パラメーターを含む SQL クエリを表す補間文字列。

戻り値

影響を受けた行の数。

注釈

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

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

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

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

適用対象