Share via


Database.ExecuteSqlCommandAsync, méthode (TransactionalBehavior, String, CancellationToken, Object[])

[Cette page concerne Entity Framework version 6. La dernière version est disponible sous le nom de package 'Entity Framework' NuGet. Pour plus d'informations sur Entity Framework, consultez msdn.com/data/ef.]

Exécute de façon asynchrone la commande DDL/DML donnée sur la base de données. Comme pour tout API qui accepte SQL, il est important de paramétrer toutes les entrées utilisateur afin de se prémunir contre une attaque d'injection SQL. Vous pouvez inclure des espaces de paramètre réservés dans la chaîne de requête SQL, puis fournir des valeurs de paramètre comme arguments supplémentaires. Toute valeur de paramètre fournie sera automatiquement convertie en un DbParameter. context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); Sinon, construisez un DbParameter et fournissez-le à SqlQuery. Cela vous permet d'utiliser des paramètres nommés dans la chaîne de requête SQL. context.Database.ExecuteSqlCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));

Espace de noms :  System.Data.Entity
Assembly :  EntityFramework (dans EntityFramework.dll)

Syntaxe

'Déclaration
Public Function ExecuteSqlCommandAsync ( _
    transactionalBehavior As TransactionalBehavior, _
    sql As String, _
    cancellationToken As CancellationToken, _
    ParamArray parameters As Object() _
) As Task(Of Integer)
'Utilisation
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>

Paramètres

  • parameters
    Type : System.Object[]
    Paramètres à appliquer à la chaîne de commande.

Valeur de retour

Type : System.Threading.Tasks.Task<Int32>
Tâche qui représente l'opération asynchrone.Le résultat de la tâche contient le résultat retourné par la base de données après avoir exécuté la commande.

Notes

Plusieurs opérations actives sur la même instance de contexte ne sont pas prises en charge. Utilisez « await » pour garantir que toutes les opérations asynchrones sont terminées avant d'appeler une autre méthode dans ce contexte.

Voir aussi

Référence

Database Classe

Surcharge ExecuteSqlCommandAsync

Espace de noms System.Data.Entity