Partager via


RelationalDatabaseFacadeExtensions.ExecuteSqlRaw Méthode

Définition

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);
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);
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 .

S’applique à