ObjectContext.ExecuteStoreQueryAsync<TElement> 方法 (String, ExecutionOptions, CancellationToken, Object[])

[本页针对的是实体框架版本 6。最新版本以“实体框架”NuGet 包的形式提供。有关实体框架的更多信息,请参见 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 Overridable Function ExecuteStoreQueryAsync(Of TElement) ( _
    commandText 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 executionOptions As ExecutionOptions 
Dim cancellationToken As CancellationToken 
Dim parameters As Object()
Dim returnValue As Task(Of ObjectResult(Of TElement))

returnValue = instance.ExecuteStoreQueryAsync(commandText, _
    executionOptions, cancellationToken, _
    parameters)
[SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
public virtual Task<ObjectResult<TElement>> ExecuteStoreQueryAsync<TElement>(
    string commandText,
    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, 
    ExecutionOptions^ executionOptions, 
    CancellationToken cancellationToken, 
    ... array<Object^>^ parameters
)
[<SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")>]
abstract ExecuteStoreQueryAsync : 
        commandText:string * 
        executionOptions:ExecutionOptions * 
        cancellationToken:CancellationToken * 
        parameters:Object[] -> Task<ObjectResult<'TElement>> 
[<SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")>]
override ExecuteStoreQueryAsync : 
        commandText:string * 
        executionOptions:ExecutionOptions * 
        cancellationToken:CancellationToken * 
        parameters:Object[] -> Task<ObjectResult<'TElement>> 
JScript does not support generic types and methods.

类型参数

  • TElement
    结果序列的元素类型。

参数

  • commandText
    类型:System.String
    使用服务器的本机查询语言指定的查询。

返回值

类型:System.Threading.Tasks.Task<ObjectResult<TElement>>
表示异步操作的任务。任务结果包含类型为 TElement 的对象的枚举。

备注

不支持对同一上下文实例执行多个活动操作。 使用“await”以确保在对此上下文调用另一个方法前完成了所有异步操作。

请参阅

参考

ObjectContext 类

ExecuteStoreQueryAsync 重载

System.Data.Entity.Core.Objects 命名空间