ObjectContext.ExecuteStoreQueryAsync<TElement> メソッド (String, String, ExecutionOptions, CancellationToken, Object[])
[このページは、Entity Framework 6 に関するページです。最新バージョンは、'Entity Framework' NuGet パッケージとして入手できます。Entity Framework の詳細については、msdn.com/data/ef を参照してください。]
データ ソースに対してクエリを直接、非同期的に実行し、型指定された結果のシーケンスを返します。 クエリは、SQL などのサーバーのネイティブなクエリ言語を使用して指定します。 エンティティ セット名を指定した場合、コンテキストによって結果が追跡されます。 SQL を受け入れる API と同様に、すべてのユーザー入力をパラメーター化して、SQL インジェクション攻撃から保護することが重要です。 パラメーターのプレースホルダーを SQL クエリ文字列に含めて、パラメーター値を追加の引数として指定することができます。 指定したパラメーター値はすべて、DbParameter に自動的に変換されます。 context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); または、DbParameter を構築して、それを SqlQuery に指定することもできます。 これにより、SQL クエリ文字列で名前付きパラメーターを使用できます。 context.ExecuteStoreQueryAsync<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));
名前空間: System.Data.Entity.Core.Objects
アセンブリ: EntityFramework (EntityFramework.dll 内)
構文
'宣言
<SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")> _
Public Overridable Function ExecuteStoreQueryAsync(Of TElement) ( _
commandText As String, _
entitySetName As String, _
executionOptions As ExecutionOptions, _
cancellationToken As CancellationToken, _
ParamArray parameters As Object() _
) As Task(Of ObjectResult(Of TElement))
'使用
Dim instance As ObjectContext
Dim commandText As String
Dim entitySetName As String
Dim executionOptions As ExecutionOptions
Dim cancellationToken As CancellationToken
Dim parameters As Object()
Dim returnValue As Task(Of ObjectResult(Of TElement))
returnValue = instance.ExecuteStoreQueryAsync(commandText, _
entitySetName, executionOptions, _
cancellationToken, parameters)
[SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
public virtual Task<ObjectResult<TElement>> ExecuteStoreQueryAsync<TElement>(
string commandText,
string entitySetName,
ExecutionOptions executionOptions,
CancellationToken cancellationToken,
params Object[] parameters
)
[SuppressMessageAttribute(L"Microsoft.Design", L"CA1006:DoNotNestGenericTypesInMemberSignatures")]
public:
generic<typename TElement>
virtual Task<ObjectResult<TElement>^>^ ExecuteStoreQueryAsync(
String^ commandText,
String^ entitySetName,
ExecutionOptions^ executionOptions,
CancellationToken cancellationToken,
... array<Object^>^ parameters
)
[<SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")>]
abstract ExecuteStoreQueryAsync :
commandText:string *
entitySetName:string *
executionOptions:ExecutionOptions *
cancellationToken:CancellationToken *
parameters:Object[] -> Task<ObjectResult<'TElement>>
[<SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")>]
override ExecuteStoreQueryAsync :
commandText:string *
entitySetName:string *
executionOptions:ExecutionOptions *
cancellationToken:CancellationToken *
parameters:Object[] -> Task<ObjectResult<'TElement>>
JScript does not support generic types and methods.
型パラメーター
- TElement
結果のシーケンスの要素型。
パラメーター
- commandText
型 : System.String
サーバーのネイティブなクエリ言語で指定するクエリ。
- entitySetName
型 : System.String
TResult 型のエンティティ セット。 エンティティ セットの名前を指定しない場合、結果は追跡されません。
- executionOptions
型 : System.Data.Entity.Core.Objects.ExecutionOptions
このクエリを実行するためのオプション。
- cancellationToken
型 : System.Threading.CancellationToken
タスクの完了を待機しているときに観察する CancellationToken。
- parameters
型 : System.Object[]
クエリに使用するパラメーターの値。 出力パラメーターを使用する場合は、結果が完全に読み取られるまでそれらの値は利用できません。 これは、DbDataReader の基になっている動作のためです。詳しくは https://go.microsoft.com/fwlink/?LinkID=398589 を参照してください。
戻り値
型 : System.Threading.Tasks.Task<ObjectResult<TElement>>
非同期操作を表すタスク。タスクの結果には、TElement 型のオブジェクトの列挙体が示されます。
解説
同じコンテキスト インスタンスに対する複数のアクティブ操作はサポートされません。 このコンテキストで別のメソッドを呼び出す前に、非同期操作が完了したことを確認するために await を使用します。