Поделиться через


ObjectContext.ExecuteStoreQueryAsync<TElement> - метод (String, String, ExecutionOptions, Object[])

[Эта страница относится к документации к Entity Framework 6. Последняя версия доступна в составе пакета Entity Framework NuGet. Дополнительные сведения об Entity Framework см. в разделе msdn.com/data/ef.]

Асинхронно выполняет запрос непосредственно на источнике данных и возвращает последовательность типизированных результатов. Запрос задан с использованием собственного языка запросов сервера, такого как SQL. Если указано имя набора сущностей, результаты отслеживаются контекстом. Как и для любого API, принимающего SQL, важно параметризовать все пользовательские входные данные для защиты от атаки путем внедрения кода SQL. Можно включать в строку SQL-запроса местозаполнители параметров и затем предоставлять значения параметров как дополнительные аргументы. Все предоставляемые значения параметров будут автоматически преобразовываться в DbParameter. context.ExecuteStoreQueryAsync&amp;lt;Post&amp;gt;("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); также можно создать DbParameter и передать его в SqlQuery. Это позволяет использовать в строке запроса SQL именованные параметры. context.ExecuteStoreQueryAsync&amp;lt;Post&amp;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 - пространство имен