RelationalDatabaseFacadeExtensions.ExecuteSqlRawAsync Метод

Определение

Перегрузки

ExecuteSqlRawAsync(DatabaseFacade, String, IEnumerable<Object>, CancellationToken)

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

ExecuteSqlRawAsync(DatabaseFacade, String, Object[])

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

ExecuteSqlRawAsync(DatabaseFacade, String, CancellationToken)

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

ExecuteSqlRawAsync(DatabaseFacade, String, IEnumerable<Object>, CancellationToken)

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

public static System.Threading.Tasks.Task<int> ExecuteSqlRawAsync (this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, string sql, System.Collections.Generic.IEnumerable<object> parameters, System.Threading.CancellationToken cancellationToken = default);
static member ExecuteSqlRawAsync : Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade * string * seq<obj> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<int>
<Extension()>
Public Function ExecuteSqlRawAsync (databaseFacade As DatabaseFacade, sql As String, parameters As IEnumerable(Of Object), Optional cancellationToken As CancellationToken = Nothing) As Task(Of Integer)

Параметры

databaseFacade
DatabaseFacade

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

sql
String

Выполняемый SQL.

parameters
IEnumerable<Object>

Параметры для использования с SQL.

cancellationToken
CancellationToken

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

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

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

Исключения

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

Комментарии

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

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

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

Однако никогда не передайте в этот метод сцепленную или интерполированную строку ($"") с непроверенными значениями, предоставленными пользователем. Это может привести к атакам путем внедрения кода SQL. Чтобы использовать синтаксис интерполированной строки, рассмотрите возможность использования ExecuteSqlAsync(DatabaseFacade, FormattableString, CancellationToken) для создания параметров.

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

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

ExecuteSqlRawAsync(DatabaseFacade, String, Object[])

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

public static System.Threading.Tasks.Task<int> ExecuteSqlRawAsync (this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, string sql, params object[] parameters);
static member ExecuteSqlRawAsync : Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade * string * obj[] -> System.Threading.Tasks.Task<int>
<Extension()>
Public Function ExecuteSqlRawAsync (databaseFacade As DatabaseFacade, sql As String, ParamArray parameters As Object()) As Task(Of Integer)

Параметры

databaseFacade
DatabaseFacade

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

sql
String

Выполняемый SQL.

parameters
Object[]

Параметры для использования с SQL.

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

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

Комментарии

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

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

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

Однако никогда не передайте в этот метод сцепленную или интерполированную строку ($"") с непроверенными значениями, предоставленными пользователем. Это может привести к атакам путем внедрения кода SQL. Чтобы использовать синтаксис интерполированной строки, рассмотрите возможность использования ExecuteSqlAsync(DatabaseFacade, FormattableString, CancellationToken) для создания параметров.

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

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

ExecuteSqlRawAsync(DatabaseFacade, String, CancellationToken)

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

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

Параметры

databaseFacade
DatabaseFacade

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

sql
String

Выполняемый SQL.

cancellationToken
CancellationToken

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

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

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

Исключения

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

Комментарии

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

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

Никогда не передайте в этот метод объединенную или интерполированную строку ($"") с непроверенными значениями, предоставленными пользователем. Это может привести к атакам путем внедрения кода SQL.

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

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