RelationalDatabaseFacadeExtensions.ExecuteSqlRaw Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Перегрузки
ExecuteSqlRaw(DatabaseFacade, String, IEnumerable<Object>) |
Выполняет заданный SQL для базы данных и возвращает количество затронутых строк. |
ExecuteSqlRaw(DatabaseFacade, String, Object[]) |
Выполняет заданный SQL для базы данных и возвращает количество затронутых строк. |
ExecuteSqlRaw(DatabaseFacade, String, IEnumerable<Object>)
- Исходный код:
- RelationalDatabaseFacadeExtensions.cs
- Исходный код:
- RelationalDatabaseFacadeExtensions.cs
- Исходный код:
- RelationalDatabaseFacadeExtensions.cs
- Исходный код:
- RelationalDatabaseFacadeExtensions.cs
- Исходный код:
- RelationalDatabaseFacadeExtensions.cs
- Исходный код:
- RelationalDatabaseFacadeExtensions.cs
- Исходный код:
- RelationalDatabaseFacadeExtensions.cs
Выполняет заданный SQL для базы данных и возвращает количество затронутых строк.
public static int ExecuteSqlRaw (this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, string sql, System.Collections.Generic.IEnumerable<object> parameters);
public static int ExecuteSqlRaw (this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, string sql, System.Collections.Generic.IEnumerable<object?> parameters);
static member ExecuteSqlRaw : Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade * string * seq<obj> -> int
<Extension()>
Public Function ExecuteSqlRaw (databaseFacade As DatabaseFacade, sql As String, parameters As IEnumerable(Of Object)) As Integer
Параметры
- databaseFacade
- DatabaseFacade
Для DatabaseFacade контекста.
- sql
- String
Выполняемый SQL.
- parameters
- IEnumerable<Object>
Параметры для использования с SQL.
Возвращаемое значение
Число обработанных строк.
Комментарии
Обратите внимание, что этот метод не запускает транзакцию. Чтобы использовать этот метод с транзакцией, сначала вызовите BeginTransaction(DatabaseFacade, IsolationLevel) или UseTransaction.
Обратите внимание, что текущий ExecutionStrategy объект не используется этим методом, так как SQL не может быть идемпотентным и не выполняется в транзакции. Можно ExecutionStrategy использовать явным образом, убедившись, что также используется транзакция, если SQL не является идемпотентным.
Как и в случае с любым API, который принимает SQL, важно параметризовать любые входные данные пользователя для защиты от атак путем внедрения кода SQL. Вы можете включить заполнители параметров в строку ЗАПРОСА SQL, а затем указать значения параметров в качестве дополнительных аргументов. Все указанные значения параметров будут автоматически преобразованы в DbParameter.
Однако никогда не передайте в этот метод сцепленную или интерполированную строку ($""
) с непроверенными значениями, предоставленными пользователем. Это может привести к атакам путем внедрения кода SQL. Чтобы использовать синтаксис интерполированной строки, рассмотрите возможность использования ExecuteSql(DatabaseFacade, FormattableString) для создания параметров.
Дополнительные сведения и примеры см. в статье Выполнение необработанных команд SQL с помощью EF Core .
Применяется к
ExecuteSqlRaw(DatabaseFacade, String, Object[])
- Исходный код:
- RelationalDatabaseFacadeExtensions.cs
- Исходный код:
- RelationalDatabaseFacadeExtensions.cs
- Исходный код:
- RelationalDatabaseFacadeExtensions.cs
- Исходный код:
- RelationalDatabaseFacadeExtensions.cs
- Исходный код:
- RelationalDatabaseFacadeExtensions.cs
- Исходный код:
- RelationalDatabaseFacadeExtensions.cs
- Исходный код:
- RelationalDatabaseFacadeExtensions.cs
Выполняет заданный SQL для базы данных и возвращает количество затронутых строк.
public static int ExecuteSqlRaw (this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, string sql, params object[] parameters);
public static int ExecuteSqlRaw (this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, string sql, params object?[] parameters);
static member ExecuteSqlRaw : Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade * string * obj[] -> int
<Extension()>
Public Function ExecuteSqlRaw (databaseFacade As DatabaseFacade, sql As String, ParamArray parameters As Object()) As Integer
Параметры
- databaseFacade
- DatabaseFacade
Для DatabaseFacade контекста.
- sql
- String
Выполняемый SQL.
- parameters
- Object[]
Параметры для использования с SQL.
Возвращаемое значение
Число обработанных строк.
Комментарии
Обратите внимание, что этот метод не запускает транзакцию. Чтобы использовать этот метод с транзакцией, сначала вызовите BeginTransaction(DatabaseFacade, IsolationLevel) или UseTransaction.
Обратите внимание, что текущий ExecutionStrategy объект не используется этим методом, так как SQL не может быть идемпотентным и не выполняется в транзакции. Можно ExecutionStrategy использовать явным образом, убедившись, что также используется транзакция, если SQL не является идемпотентным.
Как и в случае с любым API, который принимает SQL, важно параметризовать любые входные данные пользователя для защиты от атак путем внедрения кода SQL. Вы можете включить заполнители параметров в строку ЗАПРОСА SQL, а затем указать значения параметров в качестве дополнительных аргументов. Все указанные значения параметров будут автоматически преобразованы в DbParameter.
Однако никогда не передайте в этот метод сцепленную или интерполированную строку ($""
) с непроверенными значениями, предоставленными пользователем. Это может привести к атакам путем внедрения кода SQL. Чтобы использовать синтаксис интерполированной строки, рассмотрите возможность использования ExecuteSql(DatabaseFacade, FormattableString) для создания параметров.
Дополнительные сведения и примеры см. в статье Выполнение необработанных команд SQL с помощью EF Core .
Применяется к
Entity Framework