RelationalDatabaseFacadeExtensions.ExecuteSqlAsync Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Выполняет заданный SQL для базы данных и возвращает количество затронутых строк.
public static System.Threading.Tasks.Task<int> ExecuteSqlAsync (this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, FormattableString sql, System.Threading.CancellationToken cancellationToken = default);
static member ExecuteSqlAsync : Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade * FormattableString * System.Threading.CancellationToken -> System.Threading.Tasks.Task<int>
<Extension()>
Public Function ExecuteSqlAsync (databaseFacade As DatabaseFacade, sql As FormattableString, Optional cancellationToken As CancellationToken = Nothing) As Task(Of Integer)
Параметры
- databaseFacade
- DatabaseFacade
Для DatabaseFacade контекста.
Интерполированная строка, представляющая SQL-запрос с параметрами.
- cancellationToken
- CancellationToken
Объект CancellationToken , который необходимо наблюдать в ожидании завершения задачи.
Возвращаемое значение
Задача, представляющая асинхронную операцию. Результатом задачи является количество затронутых строк.
Исключения
Если CancellationToken отменяется.
Комментарии
Обратите внимание, что этот метод не запускает транзакцию. Чтобы использовать этот метод с транзакцией, сначала вызовите BeginTransaction(DatabaseFacade, IsolationLevel) или UseTransaction.
Обратите внимание, что текущий ExecutionStrategy объект не используется этим методом, так как SQL не может быть идемпотентным и не выполняется в транзакции. Можно ExecutionStrategy использовать явным образом, убедившись, что также используется транзакция, если SQL не является идемпотентным.
Как и в случае с любым API, который принимает SQL, важно параметризовать любые входные данные пользователя для защиты от атак путем внедрения кода SQL. Вы можете включить заполнители параметров в строку ЗАПРОСА SQL, а затем указать значения параметров в качестве дополнительных аргументов. Все указанные значения параметров будут автоматически преобразованы в DbParameter.
Дополнительные сведения и примеры см. в статье Выполнение необработанных команд SQL с помощью EF Core .
Применяется к
Entity Framework