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


Database.ExecuteSqlCommandAsync - метод (String, CancellationToken, Object[])

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

Асинхронно выполняет указанную команду DDL/DML применительно к базе данных. Как и для любого API, принимающего SQL, важно параметризовать все пользовательские входные данные для защиты от атаки путем внедрения кода SQL. Можно включать в строку SQL-запроса местозаполнители параметров и затем предоставлять значения параметров как дополнительные аргументы. Все предоставляемые значения параметров будут автоматически преобразовываться в DbParameter. context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); также можно создать DbParameter и предоставить его в SqlQuery. Это позволяет использовать в строке запроса SQL именованные параметры. context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));

Пространство имен:  System.Data.Entity
Сборка:  EntityFramework (в EntityFramework.dll)

Синтаксис

'Декларация
Public Function ExecuteSqlCommandAsync ( _
    sql As String, _
    cancellationToken As CancellationToken, _
    ParamArray parameters As Object() _
) As Task(Of Integer)
'Применение
Dim instance As Database 
Dim sql As String 
Dim cancellationToken As CancellationToken 
Dim parameters As Object()
Dim returnValue As Task(Of Integer)

returnValue = instance.ExecuteSqlCommandAsync(sql, _
    cancellationToken, parameters)
public Task<int> ExecuteSqlCommandAsync(
    string sql,
    CancellationToken cancellationToken,
    params Object[] parameters
)
public:
Task<int>^ ExecuteSqlCommandAsync(
    String^ sql, 
    CancellationToken cancellationToken, 
    ... array<Object^>^ parameters
)
member ExecuteSqlCommandAsync : 
        sql:string * 
        cancellationToken:CancellationToken * 
        parameters:Object[] -> Task<int> 
public function ExecuteSqlCommandAsync(
    sql : String, 
    cancellationToken : CancellationToken, 
    ... parameters : Object[]
) : Task<int>

Параметры

  • parameters
    Тип: System.Object[]
    Параметры, подставляемые в строку команды.

Возвращаемое значение

Тип: System.Threading.Tasks.Task<Int32>
Задача, представляющая асинхронную операцию.Результат задачи содержит результат, возвращаемый базой данных после выполнения команды.

Примечания

Несколько активных операций в одном экземпляре контекста не поддерживается. Используйте «await» для обеспечения того, чтобы все асинхронные операции завершались перед вызовом другого метода применительно к этому контексту. Если отсутствует локальная транзакция, то для выполнения команды будет использоваться новая транзакция.

См. также

Справочник

Database Класс

ExecuteSqlCommandAsync - перегрузка

System.Data.Entity - пространство имен