Partager via


RelationalDatabaseFacadeExtensions.ExecuteSqlRawAsync Méthode

Définition

Surcharges

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

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

ExecuteSqlRawAsync(DatabaseFacade, String, Object[])

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

ExecuteSqlRawAsync(DatabaseFacade, String, CancellationToken)

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

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

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

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)

Paramètres

databaseFacade
DatabaseFacade

DatabaseFacade pour le contexte.

sql
String

SQL à exécuter.

parameters
IEnumerable<Object>

Paramètres à utiliser avec le sql.

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 actuel ExecutionStrategy n’est pas utilisé par cette méthode, car le sql n’est peut-être pas idempotent et ne s’exécute pas dans une transaction. Une stratégie d’exécution peut être utilisée explicitement, en veillant à utiliser également une transaction si le code 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 de code 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.

Toutefois, ne passez jamais une chaîne concaténée ou interpolée ($"") avec des valeurs fournies par l’utilisateur non validées dans cette méthode. Cela peut exposer votre application à des attaques par injection de code SQL. Pour utiliser la syntaxe de chaîne interpolée, envisagez d’utiliser ExecuteSqlAsync(DatabaseFacade, FormattableString, CancellationToken) pour créer des paramètres.

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

S’applique à

ExecuteSqlRawAsync(DatabaseFacade, String, Object[])

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

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)

Paramètres

databaseFacade
DatabaseFacade

DatabaseFacade pour le contexte.

sql
String

SQL à exécuter.

parameters
Object[]

Paramètres à utiliser avec le sql.

Retours

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

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 actuel ExecutionStrategy n’est pas utilisé par cette méthode, car le sql n’est peut-être pas 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 de code 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.

Toutefois, ne passez jamais une chaîne concaténée ou interpolée ($"") avec des valeurs fournies par l’utilisateur non validées dans cette méthode. Cela peut exposer votre application à des attaques par injection de code SQL. Pour utiliser la syntaxe de chaîne interpolée, envisagez d’utiliser ExecuteSqlAsync(DatabaseFacade, FormattableString, CancellationToken) pour créer des paramètres.

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

S’applique à

ExecuteSqlRawAsync(DatabaseFacade, String, CancellationToken)

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

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)

Paramètres

databaseFacade
DatabaseFacade

DatabaseFacade pour le contexte.

sql
String

SQL à exécuter.

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 actuel ExecutionStrategy n’est pas utilisé par cette méthode, car le sql n’est peut-être pas 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.

Ne passez jamais de chaîne concaténée ou interpolée ($"") avec des valeurs fournies par l’utilisateur non validées dans cette méthode. Cela peut exposer votre application à des attaques par injection de code SQL.

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

S’applique à