RelationalDatabaseFacadeExtensions.ExecuteSqlAsync Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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.
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
Si le CancellationToken est annulé.
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 .