Idioma

RelationalDatabaseFacadeExtensions.ExecuteSqlAsync Método

Definição

Executa o SQL especificado no banco de dados e retorna o número de linhas afetadas.

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

Parâmetros

databaseFacade
DatabaseFacade

O DatabaseFacade para o contexto.

sql
FormattableString

A cadeia de caracteres interpolada que representa uma consulta SQL com parâmetros.

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.

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.

Consulte a execução de comandos SQL brutos com o EF Core para obter mais informações e exemplos.

Aplica-se a