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