次の方法で共有


Database.ExecuteSqlCommandAsync メソッド (TransactionalBehavior, String, Object[])

[このページは、Entity Framework 6 に関するページです。最新バージョンは、'Entity Framework' NuGet パッケージとして入手できます。Entity Framework の詳細については、msdn.com/data/ef を参照してください。]

データベースに対して指定した DDL/DML コマンドを非同期に実行します。 SQL を受け入れる API と同様に、すべてのユーザー入力をパラメーター化して、SQL インジェクション攻撃から保護することが重要です。 パラメーターのプレースホルダーを SQL クエリ文字列に含めて、パラメーター値を追加の引数として指定することができます。 指定したパラメーター値はすべて、DbParameter に自動的に変換されます。 context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); または、DbParameter を構築して、それを SqlQuery に指定することもできます。 これにより、SQL クエリ文字列で名前付きパラメーターを使用できます。 context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));

名前空間:  System.Data.Entity
アセンブリ:  EntityFramework (EntityFramework.dll 内)

構文

'宣言
Public Function ExecuteSqlCommandAsync ( _
    transactionalBehavior As TransactionalBehavior, _
    sql As String, _
    ParamArray parameters As Object() _
) As Task(Of Integer)
'使用
Dim instance As Database 
Dim transactionalBehavior As TransactionalBehavior 
Dim sql As String 
Dim parameters As Object()
Dim returnValue As Task(Of Integer)

returnValue = instance.ExecuteSqlCommandAsync(transactionalBehavior, _
    sql, parameters)
public Task<int> ExecuteSqlCommandAsync(
    TransactionalBehavior transactionalBehavior,
    string sql,
    params Object[] parameters
)
public:
Task<int>^ ExecuteSqlCommandAsync(
    TransactionalBehavior transactionalBehavior, 
    String^ sql, 
    ... array<Object^>^ parameters
)
member ExecuteSqlCommandAsync : 
        transactionalBehavior:TransactionalBehavior * 
        sql:string * 
        parameters:Object[] -> Task<int> 
public function ExecuteSqlCommandAsync(
    transactionalBehavior : TransactionalBehavior, 
    sql : String, 
    ... parameters : Object[]
) : Task<int>

パラメーター

  • parameters
    型 : System.Object[]
    コマンド文字列に適用するパラメーター。

戻り値

型 : System.Threading.Tasks.Task<Int32>
非同期操作を表すタスク。タスクの結果には、コマンド実行後にデータベースによって返される結果が示されます。

解説

同じコンテキスト インスタンスに対する複数のアクティブ操作はサポートされません。 このコンテキストで別のメソッドを呼び出す前に、非同期操作が完了したことを確認するために await を使用します。

参照

参照

Database クラス

ExecuteSqlCommandAsync オーバーロード

System.Data.Entity 名前空間