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


RelationalDatabaseFacadeExtensions.ExecuteSqlInterpolatedAsync Метод

Определение

Выполняет заданный SQL для базы данных и возвращает количество затронутых строк.

public static System.Threading.Tasks.Task<int> ExecuteSqlInterpolatedAsync (this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, FormattableString sql, System.Threading.CancellationToken cancellationToken = default);
static member ExecuteSqlInterpolatedAsync : Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade * FormattableString * System.Threading.CancellationToken -> System.Threading.Tasks.Task<int>
<Extension()>
Public Function ExecuteSqlInterpolatedAsync (databaseFacade As DatabaseFacade, sql As FormattableString, Optional cancellationToken As CancellationToken = Nothing) As Task(Of Integer)

Параметры

databaseFacade
DatabaseFacade

Для DatabaseFacade контекста.

sql
FormattableString

Интерполированная строка, представляющая SQL-запрос с параметрами.

cancellationToken
CancellationToken

Объект CancellationToken , который необходимо наблюдать в ожидании завершения задачи.

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

Задача, представляющая асинхронную операцию. Результатом задачи является количество затронутых строк.

Исключения

Если CancellationToken отменяется.

Комментарии

Обратите внимание, что этот метод не запускает транзакцию. Чтобы использовать этот метод с транзакцией, сначала вызовите BeginTransaction(DatabaseFacade, IsolationLevel) или UseTransaction.

Обратите внимание, что текущий ExecutionStrategy объект не используется этим методом, так как SQL не может быть идемпотентным и не выполняется в транзакции. Можно ExecutionStrategy использовать явным образом, убедившись, что также используется транзакция, если SQL не является идемпотентным.

Как и в случае с любым API, который принимает SQL, важно параметризовать любые входные данные пользователя для защиты от атак путем внедрения кода SQL. Вы можете включить заполнители параметров в строку ЗАПРОСА SQL, а затем указать значения параметров в качестве дополнительных аргументов. Все указанные значения параметров будут автоматически преобразованы в DbParameter.

Дополнительные сведения и примеры см. в статье Выполнение необработанных команд SQL с помощью EF Core .

Применяется к