Condividi tramite


RelationalDatabaseFacadeExtensions.ExecuteSqlRawAsync Metodo

Definizione

Overload

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

Esegue il valore SQL specificato nel database e restituisce il numero di righe interessate.

ExecuteSqlRawAsync(DatabaseFacade, String, Object[])

Esegue il valore SQL specificato nel database e restituisce il numero di righe interessate.

ExecuteSqlRawAsync(DatabaseFacade, String, CancellationToken)

Esegue il valore SQL specificato nel database e restituisce il numero di righe interessate.

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

Esegue il valore SQL specificato nel 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);
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à.

Restituisce

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

Eccezioni

Commenti

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

Si noti che l'oggetto corrente ExecutionStrategy non viene usato da questo metodo poiché SQL potrebbe non essere idempotente e non viene eseguito in una transazione. Un'istanza di ExecutionStrategy può essere usata 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 forniti verranno convertiti automaticamente in dbParameter.

Tuttavia, non passare mai una stringa concatenata o interpolata ($"") con valori non convalidati forniti dall'utente in questo metodo. In questo modo, l'applicazione può esporre l'applicazione agli attacchi di inserimento SQL. Per usare la sintassi della 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, Object[])

Esegue il valore SQL specificato nel 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);
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.

Restituisce

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, prima chiamata BeginTransaction(DatabaseFacade, IsolationLevel) o UseTransaction.

Si noti che l'oggetto corrente ExecutionStrategy non viene usato da questo metodo poiché 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 forniti verranno convertiti automaticamente in dbParameter.

Tuttavia, non passare mai una stringa concatenata o interpolata ($"") con valori non convalidati forniti dall'utente in questo metodo. In questo modo, l'applicazione può esporre l'applicazione agli attacchi di inserimento SQL. Per usare la sintassi della 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)

Esegue il valore SQL specificato nel 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à.

Restituisce

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

Eccezioni

Commenti

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

Si noti che l'oggetto corrente ExecutionStrategy non viene usato da questo metodo poiché 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 non convalidati forniti dall'utente in questo metodo. In questo modo, l'applicazione può esporre l'applicazione agli attacchi di inserimento SQL.

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

Si applica a