RelationalDatabaseFacadeExtensions.ExecuteSqlRawAsync Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Sobrecargas
| Nome | Descrição |
|---|---|
| ExecuteSqlRawAsync(DatabaseFacade, String, Object[]) |
Executa o SQL especificado no banco de dados e retorna o número de linhas afetadas. |
| ExecuteSqlRawAsync(DatabaseFacade, String, CancellationToken) |
Executa o SQL especificado no banco de dados e retorna o número de linhas afetadas. |
| ExecuteSqlRawAsync(DatabaseFacade, String, IEnumerable<Object>, CancellationToken) |
Executa o SQL especificado no banco de dados e retorna o número de linhas afetadas. |
ExecuteSqlRawAsync(DatabaseFacade, String, Object[])
Executa o SQL especificado no banco de dados e retorna o número de linhas afetadas.
public static System.Threading.Tasks.Task<int> ExecuteSqlRawAsync(this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, string sql, params object[] parameters);
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)
Parâmetros
- databaseFacade
- DatabaseFacade
O DatabaseFacade para o contexto.
- sql
- String
O SQL a ser executado.
- parameters
- Object[]
Parâmetros a serem usados com o SQL.
Retornos
Uma tarefa que representa a operação assíncrona. O resultado da tarefa é o número de linhas afetadas.
Comentários
Observe que esse método não inicia uma transação. Para usar esse método com uma transação, primeira chamada BeginTransaction(DatabaseFacade, IsolationLevel) ou UseTransaction.
Observe que a corrente ExecutionStrategy não é usada por esse método, pois o SQL pode não ser idempotente e não é executado em uma transação. Um ExecutionStrategy pode ser usado explicitamente, certificando-se de também usar uma transação se o SQL não for idempotente.
Assim como acontece com qualquer API que aceite o SQL, é importante parametrizar qualquer entrada do usuário para proteger contra um ataque de injeção de SQL. Você pode incluir os titulares de ponto de parâmetro na cadeia de caracteres de consulta SQL e, em seguida, fornecer valores de parâmetro como argumentos adicionais. Todos os valores de parâmetro fornecidos serão convertidos automaticamente em um DbParameter.
No entanto, nunca passe uma cadeia de caracteres concatenada ou interpolada ($"") com valores não validados fornecidos pelo usuário para esse método. Isso pode expor seu aplicativo a ataques de injeção de SQL. Para usar a sintaxe de cadeia de caracteres interpolada, considere usar ExecuteSqlAsync(DatabaseFacade, FormattableString, CancellationToken) para criar parâmetros.
Consulte a execução de comandos SQL brutos com o EF Core para obter mais informações e exemplos.
Aplica-se a
ExecuteSqlRawAsync(DatabaseFacade, String, CancellationToken)
Executa o SQL especificado no banco de dados e retorna o número de linhas afetadas.
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)
Parâmetros
- databaseFacade
- DatabaseFacade
O DatabaseFacade para o contexto.
- sql
- String
O SQL a ser executado.
- cancellationToken
- CancellationToken
Um CancellationToken para observar enquanto aguarda a conclusão da tarefa.
Retornos
Uma tarefa que representa a operação assíncrona. O resultado da tarefa é o número de linhas afetadas.
Exceções
Se o CancellationToken valor for cancelado.
Comentários
Observe que esse método não inicia uma transação. Para usar esse método com uma transação, primeira chamada BeginTransaction(DatabaseFacade, IsolationLevel) ou UseTransaction.
Observe que a corrente ExecutionStrategy não é usada por esse método, pois o SQL pode não ser idempotente e não é executado em uma transação. Um ExecutionStrategy pode ser usado explicitamente, certificando-se de também usar uma transação se o SQL não for idempotente.
Nunca passe uma cadeia de caracteres concatenada ou interpolada ($"") com valores não validados fornecidos pelo usuário para esse método. Isso pode expor seu aplicativo a ataques de injeção de SQL.
Consulte a execução de comandos SQL brutos com o EF Core para obter mais informações e exemplos.
Aplica-se a
ExecuteSqlRawAsync(DatabaseFacade, String, IEnumerable<Object>, CancellationToken)
Executa o SQL especificado no banco de dados e retorna o número de linhas afetadas.
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);
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)
Parâmetros
- databaseFacade
- DatabaseFacade
O DatabaseFacade para o contexto.
- sql
- String
O SQL a ser executado.
- parameters
- IEnumerable<Object>
Parâmetros a serem usados com o SQL.
- cancellationToken
- CancellationToken
Um CancellationToken para observar enquanto aguarda a conclusão da tarefa.
Retornos
Uma tarefa que representa a operação assíncrona. O resultado da tarefa é o número de linhas afetadas.
Exceções
Se o CancellationToken valor for cancelado.
Comentários
Observe que esse método não inicia uma transação. Para usar esse método com uma transação, primeira chamada BeginTransaction(DatabaseFacade, IsolationLevel) ou UseTransaction.
Observe que a corrente ExecutionStrategy não é usada por esse método, pois o SQL pode não ser idempotente e não é executado em uma transação. Uma ExecutionStrategy pode ser usada explicitamente, certificando-se de também usar uma transação se o SQL não for idempotente.
Assim como acontece com qualquer API que aceite o SQL, é importante parametrizar qualquer entrada do usuário para proteger contra um ataque de injeção de SQL. Você pode incluir os titulares de ponto de parâmetro na cadeia de caracteres de consulta SQL e, em seguida, fornecer valores de parâmetro como argumentos adicionais. Todos os valores de parâmetro fornecidos serão convertidos automaticamente em um DbParameter.
No entanto, nunca passe uma cadeia de caracteres concatenada ou interpolada ($"") com valores não validados fornecidos pelo usuário para esse método. Isso pode expor seu aplicativo a ataques de injeção de SQL. Para usar a sintaxe de cadeia de caracteres interpolada, considere usar ExecuteSqlAsync(DatabaseFacade, FormattableString, CancellationToken) para criar parâmetros.
Consulte a execução de comandos SQL brutos com o EF Core para obter mais informações e exemplos.