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>
Параметры
- sql
Тип: System.String
Строка команды.
- cancellationToken
Тип: System.Threading.CancellationToken
Токен CancellationToken, который нужно отслеживать во время ожидания выполнения задачи.
- parameters
Тип: System.Object[]
Параметры, подставляемые в строку команды.
Возвращаемое значение
Тип: System.Threading.Tasks.Task<Int32>
Задача, представляющая асинхронную операцию.Результат задачи содержит результат, возвращаемый базой данных после выполнения команды.
Примечания
Несколько активных операций в одном экземпляре контекста не поддерживается. Используйте «await» для обеспечения того, чтобы все асинхронные операции завершались перед вызовом другого метода применительно к этому контексту. Если отсутствует локальная транзакция, то для выполнения команды будет использоваться новая транзакция.