ObjectContext.ExecuteStoreCommandAsync メソッド (String, Object[])
[このページは、Entity Framework 6 に関するページです。最新バージョンは、'Entity Framework' NuGet パッケージとして入手できます。Entity Framework の詳細については、msdn.com/data/ef を参照してください。]
既存の接続を使用して、データ ソースに対して任意のコマンドを直接、非同期的に実行します。 コマンドは、SQL などのサーバーのネイティブなクエリ言語を使用して指定します。 SQL を受け入れる API と同様に、すべてのユーザー入力をパラメーター化して、SQL インジェクション攻撃から保護することが重要です。 パラメーターのプレースホルダーを SQL クエリ文字列に含めて、パラメーター値を追加の引数として指定することができます。 指定したパラメーター値はすべて、DbParameter に自動的に変換されます。 context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); または、DbParameter を構築して、それを SqlQuery に指定することもできます。 これにより、SQL クエリ文字列で名前付きパラメーターを使用できます。 context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));
名前空間: System.Data.Entity.Core.Objects
アセンブリ: EntityFramework (EntityFramework.dll 内)
構文
'宣言
Public Function ExecuteStoreCommandAsync ( _
commandText As String, _
ParamArray parameters As Object() _
) As Task(Of Integer)
'使用
Dim instance As ObjectContext
Dim commandText As String
Dim parameters As Object()
Dim returnValue As Task(Of Integer)
returnValue = instance.ExecuteStoreCommandAsync(commandText, _
parameters)
public Task<int> ExecuteStoreCommandAsync(
string commandText,
params Object[] parameters
)
public:
Task<int>^ ExecuteStoreCommandAsync(
String^ commandText,
... array<Object^>^ parameters
)
member ExecuteStoreCommandAsync :
commandText:string *
parameters:Object[] -> Task<int>
public function ExecuteStoreCommandAsync(
commandText : String,
... parameters : Object[]
) : Task<int>
パラメーター
- commandText
型 : System.String
サーバーのネイティブなクエリ言語で指定するコマンド。
- parameters
型 : System.Object[]
クエリに使用するパラメーターの値。
戻り値
型 : System.Threading.Tasks.Task<Int32>
非同期操作を表すタスク。タスクの結果には、影響を受けた行の数が示されます。
解説
同じコンテキスト インスタンスに対する複数のアクティブ操作はサポートされません。 このコンテキストで別のメソッドを呼び出す前に、非同期操作が完了したことを確認するために await を使用します。 既存のローカル トランザクションがない場合は、新しいトランザクションを使用してコマンドが実行されます。