次の方法で共有


ObjectContext.ExecuteStoreQueryAsync<TElement> メソッド (String, String, ExecutionOptions, Object[])

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

データ ソースに対してクエリを直接、非同期的に実行し、型指定された結果のシーケンスを返します。 クエリは、SQL などのサーバーのネイティブなクエリ言語を使用して指定します。 エンティティ セット名を指定した場合、コンテキストによって結果が追跡されます。 SQL を受け入れる API と同様に、すべてのユーザー入力をパラメーター化して、SQL インジェクション攻撃から保護することが重要です。 パラメーターのプレースホルダーを SQL クエリ文字列に含めて、パラメーター値を追加の引数として指定することができます。 指定したパラメーター値はすべて、DbParameter に自動的に変換されます。 context.ExecuteStoreQueryAsync&lt;Post&gt;("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); または、DbParameter を構築して、それを SqlQuery に指定することもできます。 これにより、SQL クエリ文字列で名前付きパラメーターを使用できます。 context.ExecuteStoreQueryAsync&lt;Post&gt;("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 Function ExecuteStoreQueryAsync(Of TElement) ( _
    commandText As String, _
    entitySetName As String, _
    executionOptions As ExecutionOptions, _
    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 parameters As Object()
Dim returnValue As Task(Of ObjectResult(Of TElement))

returnValue = instance.ExecuteStoreQueryAsync(commandText, _
    entitySetName, executionOptions, _
    parameters)
[SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
public Task<ObjectResult<TElement>> ExecuteStoreQueryAsync<TElement>(
    string commandText,
    string entitySetName,
    ExecutionOptions executionOptions,
    params Object[] parameters
)
[SuppressMessageAttribute(L"Microsoft.Design", L"CA1006:DoNotNestGenericTypesInMemberSignatures")]
public:
generic<typename TElement>
Task<ObjectResult<TElement>^>^ ExecuteStoreQueryAsync(
    String^ commandText, 
    String^ entitySetName, 
    ExecutionOptions^ executionOptions, 
    ... array<Object^>^ parameters
)
[<SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")>]
member ExecuteStoreQueryAsync : 
        commandText:string * 
        entitySetName:string * 
        executionOptions:ExecutionOptions * 
        parameters:Object[] -> Task<ObjectResult<'TElement>> 
JScript does not support generic types and methods.

型パラメーター

  • TElement
    結果のシーケンスの要素型。

パラメーター

  • commandText
    型 : System.String
    サーバーのネイティブなクエリ言語で指定するクエリ。
  • entitySetName
    型 : System.String
    TResult 型のエンティティ セット。 エンティティ セットの名前を指定しない場合、結果は追跡されません。
  • parameters
    型 : System.Object[]
    クエリに使用するパラメーターの値。 出力パラメーターを使用する場合は、結果が完全に読み取られるまでそれらの値は利用できません。 これは、DbDataReader の基になっている動作のためです。詳しくは https://go.microsoft.com/fwlink/?LinkID=398589 を参照してください。

戻り値

型 : System.Threading.Tasks.Task<ObjectResult<TElement>>
非同期操作を表すタスク。タスクの結果には、TElement 型のオブジェクトの列挙体が示されます。

解説

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

参照

参照

ObjectContext クラス

ExecuteStoreQueryAsync オーバーロード

System.Data.Entity.Core.Objects 名前空間