RelationalDatabaseFacadeExtensions.ExecuteSqlAsync Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Esegue il codice SQL specificato sul database e restituisce il numero di righe interessate.
public static System.Threading.Tasks.Task<int> ExecuteSqlAsync (this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, FormattableString sql, System.Threading.CancellationToken cancellationToken = default);
static member ExecuteSqlAsync : Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade * FormattableString * System.Threading.CancellationToken -> System.Threading.Tasks.Task<int>
<Extension()>
Public Function ExecuteSqlAsync (databaseFacade As DatabaseFacade, sql As FormattableString, Optional cancellationToken As CancellationToken = Nothing) As Task(Of Integer)
Parametri
- databaseFacade
- DatabaseFacade
Oggetto DatabaseFacade per il contesto.
Stringa interpolata che rappresenta una query SQL con parametri.
- 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
Se 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.
Come per qualsiasi API che accetta SQL, è importante parametrizzare qualsiasi input dell'utente per proteggersi 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.
Per altre informazioni ed esempi, vedere Esecuzione di comandi SQL non elaborati con EF Core .