Lingua

RelationalDatabaseFacadeExtensions.ExecuteSqlRawAsync Metodo

Definizione

Overload

Nome Descrizione
ExecuteSqlRawAsync(DatabaseFacade, String, Object[])

Esegue il codice SQL specificato sul database e restituisce il numero di righe interessate.

ExecuteSqlRawAsync(DatabaseFacade, String, CancellationToken)

Esegue il codice SQL specificato sul database e restituisce il numero di righe interessate.

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

Esegue il codice SQL specificato sul database e restituisce il numero di righe interessate.

ExecuteSqlRawAsync(DatabaseFacade, String, Object[])

Origine:
RelationalDatabaseFacadeExtensions.cs
Origine:
RelationalDatabaseFacadeExtensions.cs
Origine:
RelationalDatabaseFacadeExtensions.cs
Origine:
RelationalDatabaseFacadeExtensions.cs
Origine:
RelationalDatabaseFacadeExtensions.cs
Origine:
RelationalDatabaseFacadeExtensions.cs
Origine:
RelationalDatabaseFacadeExtensions.cs
Origine:
RelationalDatabaseFacadeExtensions.cs
Origine:
RelationalDatabaseFacadeExtensions.cs

Esegue il codice SQL specificato sul database e restituisce il numero di righe interessate.

public static System.Threading.Tasks.Task<int> ExecuteSqlRawAsync(this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, string sql, params object[] parameters);
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)

Parametri

databaseFacade
DatabaseFacade

Oggetto DatabaseFacade per il contesto.

sql
String

SQL da eseguire.

parameters
Object[]

Parametri da usare con SQL.

Valori restituiti

Attività che rappresenta l'operazione asincrona. Il risultato dell'attività è il numero di righe interessate.

Commenti

Si noti che questo metodo non avvia una transazione. Per usare questo metodo con una transazione, chiamare BeginTransaction(DatabaseFacade, IsolationLevel) prima o UseTransaction.

Si noti che l'oggetto corrente ExecutionStrategy non viene usato da questo metodo perché SQL potrebbe non essere idempotente e non viene eseguito in una transazione. Un ExecutionStrategy oggetto può essere usato in modo esplicito, assicurandosi di usare anche una transazione se SQL non è idempotente.

Come per qualsiasi API che accetta SQL, è importante parametrizzare qualsiasi input utente da proteggere da un attacco SQL injection. È possibile includere i segnaposto dei parametri nella stringa di query SQL e quindi specificare i valori dei parametri come argomenti aggiuntivi. Tutti i valori dei parametri specificati verranno convertiti automaticamente in dbParameter.

Tuttavia, non passare mai una stringa concatenata o interpolata ($"") con valori forniti dall'utente non convalidati in questo metodo. In questo modo l'applicazione può esporre l'applicazione ad attacchi SQL injection. Per usare la sintassi di stringa interpolata, è consigliabile usare ExecuteSqlAsync(DatabaseFacade, FormattableString, CancellationToken) per creare parametri.

Per altre informazioni ed esempi, vedere Esecuzione di comandi SQL non elaborati con EF Core .

Si applica a

ExecuteSqlRawAsync(DatabaseFacade, String, CancellationToken)

Origine:
RelationalDatabaseFacadeExtensions.cs
Origine:
RelationalDatabaseFacadeExtensions.cs
Origine:
RelationalDatabaseFacadeExtensions.cs
Origine:
RelationalDatabaseFacadeExtensions.cs
Origine:
RelationalDatabaseFacadeExtensions.cs
Origine:
RelationalDatabaseFacadeExtensions.cs
Origine:
RelationalDatabaseFacadeExtensions.cs
Origine:
RelationalDatabaseFacadeExtensions.cs
Origine:
RelationalDatabaseFacadeExtensions.cs

Esegue il codice SQL specificato sul database e restituisce il numero di righe interessate.

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)

Parametri

databaseFacade
DatabaseFacade

Oggetto DatabaseFacade per il contesto.

sql
String

SQL da eseguire.

cancellationToken
CancellationToken

Oggetto CancellationToken da osservare durante l'attesa del completamento dell'attività.

Valori restituiti

Attività che rappresenta l'operazione asincrona. Il risultato dell'attività è il numero di righe interessate.

Eccezioni

Se l'oggetto CancellationToken viene annullato.

Commenti

Si noti che questo metodo non avvia una transazione. Per usare questo metodo con una transazione, chiamare BeginTransaction(DatabaseFacade, IsolationLevel) prima o UseTransaction.

Si noti che l'oggetto corrente ExecutionStrategy non viene usato da questo metodo perché SQL potrebbe non essere idempotente e non viene eseguito in una transazione. Un ExecutionStrategy oggetto può essere usato in modo esplicito, assicurandosi di usare anche una transazione se SQL non è idempotente.

Non passare mai una stringa concatenata o interpolata ($"") con valori forniti dall'utente non convalidati in questo metodo. In questo modo l'applicazione può esporre l'applicazione ad attacchi SQL injection.

Per altre informazioni ed esempi, vedere Esecuzione di comandi SQL non elaborati con EF Core .

Si applica a

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

Origine:
RelationalDatabaseFacadeExtensions.cs
Origine:
RelationalDatabaseFacadeExtensions.cs
Origine:
RelationalDatabaseFacadeExtensions.cs
Origine:
RelationalDatabaseFacadeExtensions.cs
Origine:
RelationalDatabaseFacadeExtensions.cs
Origine:
RelationalDatabaseFacadeExtensions.cs
Origine:
RelationalDatabaseFacadeExtensions.cs
Origine:
RelationalDatabaseFacadeExtensions.cs
Origine:
RelationalDatabaseFacadeExtensions.cs

Esegue il codice SQL specificato sul database e restituisce il numero di righe interessate.

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

Parametri

databaseFacade
DatabaseFacade

Oggetto DatabaseFacade per il contesto.

sql
String

SQL da eseguire.

parameters
IEnumerable<Object>

Parametri da usare con SQL.

cancellationToken
CancellationToken

Oggetto CancellationToken da osservare durante l'attesa del completamento dell'attività.

Valori restituiti

Attività che rappresenta l'operazione asincrona. Il risultato dell'attività è il numero di righe interessate.

Eccezioni

Se l'oggetto CancellationToken viene annullato.

Commenti

Si noti che questo metodo non avvia una transazione. Per usare questo metodo con una transazione, chiamare BeginTransaction(DatabaseFacade, IsolationLevel) prima o UseTransaction.

Si noti che l'oggetto corrente ExecutionStrategy non viene usato da questo metodo perché SQL potrebbe non essere idempotente e non viene eseguito in una transazione. È possibile usare un oggetto ExecutionStrategy in modo esplicito, assicurandosi di usare anche una transazione se SQL non è idempotente.

Come per qualsiasi API che accetta SQL, è importante parametrizzare qualsiasi input utente da proteggere da un attacco SQL injection. È possibile includere i segnaposto dei parametri nella stringa di query SQL e quindi specificare i valori dei parametri come argomenti aggiuntivi. Tutti i valori dei parametri specificati verranno convertiti automaticamente in dbParameter.

Tuttavia, non passare mai una stringa concatenata o interpolata ($"") con valori forniti dall'utente non convalidati in questo metodo. In questo modo l'applicazione può esporre l'applicazione ad attacchi SQL injection. Per usare la sintassi di stringa interpolata, è consigliabile usare ExecuteSqlAsync(DatabaseFacade, FormattableString, CancellationToken) per creare parametri.

Per altre informazioni ed esempi, vedere Esecuzione di comandi SQL non elaborati con EF Core .

Si applica a