Language

RelationalDatabaseFacadeExtensions.ExecuteSqlRaw メソッド

定義

オーバーロード

Name 説明
ExecuteSqlRaw(DatabaseFacade, String, IEnumerable<Object>)

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

ExecuteSqlRaw(DatabaseFacade, String, Object[])

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

ExecuteSqlRaw(DatabaseFacade, String, IEnumerable<Object>)

ソース:
RelationalDatabaseFacadeExtensions.cs
ソース:
RelationalDatabaseFacadeExtensions.cs
ソース:
RelationalDatabaseFacadeExtensions.cs
ソース:
RelationalDatabaseFacadeExtensions.cs
ソース:
RelationalDatabaseFacadeExtensions.cs
ソース:
RelationalDatabaseFacadeExtensions.cs
ソース:
RelationalDatabaseFacadeExtensions.cs
ソース:
RelationalDatabaseFacadeExtensions.cs
ソース:
RelationalDatabaseFacadeExtensions.cs

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

public static int ExecuteSqlRaw(this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, string sql, System.Collections.Generic.IEnumerable<object?> parameters);
public static int ExecuteSqlRaw(this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, string sql, System.Collections.Generic.IEnumerable<object> parameters);
static member ExecuteSqlRaw : Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade * string * seq<obj> -> int
<Extension()>
Public Function ExecuteSqlRaw (databaseFacade As DatabaseFacade, sql As String, parameters As IEnumerable(Of Object)) As Integer

パラメーター

databaseFacade
DatabaseFacade

コンテキストの DatabaseFacade 。

sql
String

実行する SQL。

parameters
IEnumerable<Object>

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

戻り値

影響を受ける行の数。

注釈

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

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

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

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

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

適用対象

ExecuteSqlRaw(DatabaseFacade, String, Object[])

ソース:
RelationalDatabaseFacadeExtensions.cs
ソース:
RelationalDatabaseFacadeExtensions.cs
ソース:
RelationalDatabaseFacadeExtensions.cs
ソース:
RelationalDatabaseFacadeExtensions.cs
ソース:
RelationalDatabaseFacadeExtensions.cs
ソース:
RelationalDatabaseFacadeExtensions.cs
ソース:
RelationalDatabaseFacadeExtensions.cs
ソース:
RelationalDatabaseFacadeExtensions.cs
ソース:
RelationalDatabaseFacadeExtensions.cs

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

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

パラメーター

databaseFacade
DatabaseFacade

コンテキストの DatabaseFacade 。

sql
String

実行する SQL。

parameters
Object[]

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

戻り値

影響を受ける行の数。

注釈

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

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

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

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

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

適用対象