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