RelationalDatabaseFacadeExtensions.ExecuteSqlRaw 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.
Surcharges
ExecuteSqlRaw(DatabaseFacade, String, IEnumerable<Object>) |
Exécute le SQL donné sur la base de données et retourne le nombre de lignes affectées. |
ExecuteSqlRaw(DatabaseFacade, String, Object[]) |
Exécute le SQL donné sur la base de données et retourne le nombre de lignes affectées. |
ExecuteSqlRaw(DatabaseFacade, String, IEnumerable<Object>)
Exécute le SQL donné sur la base de données et retourne le nombre de lignes affectées.
public static int ExecuteSqlRaw (this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, string sql, System.Collections.Generic.IEnumerable<object> parameters);
public static int ExecuteSqlRaw (this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, string sql, System.Collections.Generic.IEnumerable<object?> parameters);
static member ExecuteSqlRaw : Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade * string * seq<obj> -> int
<Extension()>
Public Function ExecuteSqlRaw (databaseFacade As DatabaseFacade, sql As String, parameters As IEnumerable(Of Object)) As Integer
Paramètres
- databaseFacade
- DatabaseFacade
pour DatabaseFacade le contexte.
- sql
- String
SQL à exécuter.
- parameters
- IEnumerable<Object>
Paramètres à utiliser avec SQL.
Retours
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 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.
Toutefois, 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 SQL. Pour utiliser la syntaxe de chaîne interpolée, envisagez d’utiliser ExecuteSql(DatabaseFacade, FormattableString) 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 à
ExecuteSqlRaw(DatabaseFacade, String, Object[])
Exécute le SQL donné sur la base de données et retourne le nombre de lignes affectées.
public static int ExecuteSqlRaw (this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, string sql, params object[] parameters);
public static int ExecuteSqlRaw (this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, string sql, params object?[] parameters);
static member ExecuteSqlRaw : Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade * string * obj[] -> int
<Extension()>
Public Function ExecuteSqlRaw (databaseFacade As DatabaseFacade, sql As String, ParamArray parameters As Object()) As Integer
Paramètres
- databaseFacade
- DatabaseFacade
pour DatabaseFacade le contexte.
- sql
- String
SQL à exécuter.
- parameters
- Object[]
Paramètres à utiliser avec SQL.
Retours
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 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.
Toutefois, 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 SQL. Pour utiliser la syntaxe de chaîne interpolée, envisagez d’utiliser ExecuteSql(DatabaseFacade, FormattableString) pour créer des paramètres.
Pour plus d’informations et d’exemples, consultez Exécution de commandes SQL brutes avec EF Core .