Partager via


RelationalDatabaseFacadeExtensions.ExecuteSqlAsync Méthode

Définition

Exécute le SQL donné sur la base de données et retourne le nombre de lignes affectées.

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)

Paramètres

databaseFacade
DatabaseFacade

pour DatabaseFacade le contexte.

sql
FormattableString

Chaîne interpolée représentant une requête SQL avec des paramètres.

cancellationToken
CancellationToken

CancellationToken À observer en attendant la fin de la tâche.

Retours

Tâche qui représente l’opération asynchrone. Le résultat de la tâche est le nombre de lignes affectées.

Exceptions

Remarques

Notez que cette méthode ne démarre pas une transaction. Pour utiliser cette méthode avec une transaction, appelez BeginTransaction(DatabaseFacade, IsolationLevel) d’abord ou UseTransaction.

Notez que le courant ExecutionStrategy n’est pas utilisé par cette méthode, car le SQL peut ne pas être idempotent et ne s’exécute pas dans une transaction. Un ExecutionStrategy peut être utilisé explicitement, en veillant à utiliser également une transaction si le sql n’est pas idempotent.

Comme pour toute API qui accepte SQL, il est important de paramétrer toute entrée utilisateur pour vous protéger contre une attaque par injection SQL. Vous pouvez inclure des espaces réservés de paramètres dans la chaîne de requête SQL, puis fournir des valeurs de paramètre en tant qu’arguments supplémentaires. Toutes les valeurs de paramètre que vous fournissez sont automatiquement converties en DbParameter.

Pour plus d’informations et d’exemples, consultez Exécution de commandes SQL brutes avec EF Core .

S’applique à