Condividi tramite


Metodo Database.ExecuteSqlCommandAsync (TransactionalBehavior, String, CancellationToken, Object[])

[Questa pagina è specifica della versione 6 di Entity Framework. La versione più recente è disponibile come pacchetto NuGet per "Entity Framework". Per ulteriori informazioni su Entity Framework, vedere la pagina msdn.com/data/ef.]

Esegue in modo asincrono il comando DDL/DML specificato sul database. Come con qualsiasi API che accetta SQL, è importante parametrizzare un input utente in modo da fornire protezione da un attacco SQL injection. È possibile includere i segnaposto dei parametri nella stringa di query SQL e quindi fornire i valori dei parametri come argomenti aggiuntivi. Tutti i valori dei parametri forniti verranno convertiti automaticamente in DbParameter. context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); in alternativa, è anche possibile costruire un oggetto DbParameter e fornirlo a SqlQuery. In questo modo è possibile usare i parametri denominati nella stringa di query SQL. context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));

Spazio dei nomi:  System.Data.Entity
Assembly:  EntityFramework (in EntityFramework.dll)

Sintassi

'Dichiarazione
Public Function ExecuteSqlCommandAsync ( _
    transactionalBehavior As TransactionalBehavior, _
    sql As String, _
    cancellationToken As CancellationToken, _
    ParamArray parameters As Object() _
) As Task(Of Integer)
'Utilizzo
Dim instance As Database 
Dim transactionalBehavior As TransactionalBehavior 
Dim sql As String 
Dim cancellationToken As CancellationToken 
Dim parameters As Object()
Dim returnValue As Task(Of Integer)

returnValue = instance.ExecuteSqlCommandAsync(transactionalBehavior, _
    sql, cancellationToken, parameters)
public Task<int> ExecuteSqlCommandAsync(
    TransactionalBehavior transactionalBehavior,
    string sql,
    CancellationToken cancellationToken,
    params Object[] parameters
)
public:
Task<int>^ ExecuteSqlCommandAsync(
    TransactionalBehavior transactionalBehavior, 
    String^ sql, 
    CancellationToken cancellationToken, 
    ... array<Object^>^ parameters
)
member ExecuteSqlCommandAsync : 
        transactionalBehavior:TransactionalBehavior * 
        sql:string * 
        cancellationToken:CancellationToken * 
        parameters:Object[] -> Task<int> 
public function ExecuteSqlCommandAsync(
    transactionalBehavior : TransactionalBehavior, 
    sql : String, 
    cancellationToken : CancellationToken, 
    ... parameters : Object[]
) : Task<int>

Parametri

  • parameters
    Tipo: System.Object[]
    Parametri da applicare alla stringa di comando.

Valore restituito

Tipo: System.Threading.Tasks.Task<Int32>
Attività che rappresenta l'operazione asincrona.Il risultato dell'attività contiene il risultato restituito dal database dopo l'esecuzione del comando.

Note

Non è consentito eseguire più operazioni attive nella stessa istanza di contesto. Usare 'await' per assicurarsi che eventuali operazioni asincrone vengano completate prima di chiamare un altro metodo su questo contesto.

Vedere anche

Riferimento

Database Classe

Overload ExecuteSqlCommandAsync

Spazio dei nomi System.Data.Entity