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


Database.ExecuteSqlCommandAsync - метод (TransactionalBehavior, String, 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 ( _
    transactionalBehavior As TransactionalBehavior, _
    sql As String, _
    ParamArray parameters As Object() _
) As Task(Of Integer)
'Применение
Dim instance As Database 
Dim transactionalBehavior As TransactionalBehavior 
Dim sql As String 
Dim parameters As Object()
Dim returnValue As Task(Of Integer)

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

Параметры

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

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

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

Примечания

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

См. также

Справочник

Database Класс

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

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