ObjectContext.ExecuteStoreCommandAsync - метод (String, CancellationToken, Object[])
[Эта страница относится к документации к Entity Framework 6. Последняя версия доступна в составе пакета Entity Framework NuGet. Дополнительные сведения об Entity Framework см. в разделе msdn.com/data/ef.]
Асинхронно выполняет произвольную команду непосредственно в отношении источника данных с помощью существующего подключения. Команда задана с использованием собственного языка запросов сервера, такого как SQL. Как и для любого API, принимающего SQL, важно параметризовать все пользовательские входные данные для защиты от атаки путем внедрения кода 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 Overridable Function ExecuteStoreCommandAsync ( _
commandText As String, _
cancellationToken As CancellationToken, _
ParamArray parameters As Object() _
) As Task(Of Integer)
'Применение
Dim instance As ObjectContext
Dim commandText As String
Dim cancellationToken As CancellationToken
Dim parameters As Object()
Dim returnValue As Task(Of Integer)
returnValue = instance.ExecuteStoreCommandAsync(commandText, _
cancellationToken, parameters)
public virtual Task<int> ExecuteStoreCommandAsync(
string commandText,
CancellationToken cancellationToken,
params Object[] parameters
)
public:
virtual Task<int>^ ExecuteStoreCommandAsync(
String^ commandText,
CancellationToken cancellationToken,
... array<Object^>^ parameters
)
abstract ExecuteStoreCommandAsync :
commandText:string *
cancellationToken:CancellationToken *
parameters:Object[] -> Task<int>
override ExecuteStoreCommandAsync :
commandText:string *
cancellationToken:CancellationToken *
parameters:Object[] -> Task<int>
public function ExecuteStoreCommandAsync(
commandText : String,
cancellationToken : CancellationToken,
... parameters : Object[]
) : Task<int>
Параметры
- commandText
Тип: System.String
Команда задана на собственном языке запросов сервера.
- cancellationToken
Тип: System.Threading.CancellationToken
Токен CancellationToken, который нужно отслеживать во время ожидания выполнения задачи.
- parameters
Тип: System.Object[]
Значения параметров, которые должны использоваться для этого запроса.
Возвращаемое значение
Тип: System.Threading.Tasks.Task<Int32>
Задача, представляющая асинхронную операцию.Результат задачи содержит количество затронутых строк.
Примечания
Несколько активных операций в одном экземпляре контекста не поддерживается. Используйте «await» для обеспечения того, чтобы все асинхронные операции завершались перед вызовом другого метода применительно к этому контексту. Если отсутствует локальная транзакция, то для выполнения команды будет использоваться новая транзакция.