Partager via


RelationalStorage.ExecuteAsync Méthode

Définition

Exécute une instruction donnée. Spécialement destiné à être utilisé avec les requêtes INSERT, UPDATE, DELETE ou DDL .

public System.Threading.Tasks.Task<int> ExecuteAsync (string query, Action<System.Data.IDbCommand> parameterProvider, System.Threading.CancellationToken cancellationToken = default, System.Data.CommandBehavior commandBehavior = System.Data.CommandBehavior.Default);
abstract member ExecuteAsync : string * Action<System.Data.IDbCommand> * System.Threading.CancellationToken * System.Data.CommandBehavior -> System.Threading.Tasks.Task<int>
override this.ExecuteAsync : string * Action<System.Data.IDbCommand> * System.Threading.CancellationToken * System.Data.CommandBehavior -> System.Threading.Tasks.Task<int>
Public Function ExecuteAsync (query As String, parameterProvider As Action(Of IDbCommand), Optional cancellationToken As CancellationToken = Nothing, Optional commandBehavior As CommandBehavior = System.Data.CommandBehavior.Default) As Task(Of Integer)

Paramètres

query
String

Requête à exécuter.

parameterProvider
Action<IDbCommand>

Ajoute des paramètres à la requête. Les noms de paramètres doivent correspondre à ceux définis dans la requête.

cancellationToken
CancellationToken

Jeton d'annulation. La valeur par défaut est None.

commandBehavior
CommandBehavior

Comportement de commande à utiliser. La valeur par défaut est Default.

Retours

Nombre de lignes affectées.

Implémente

Exemples

Cet exemple montre comment effectuer un appel de base de données paramétré à la main.

//In contract to reading, execute queries are simpler as they return only
//the affected rows count if it is available.
var query = ""IF NOT EXISTS(SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Test') CREATE TABLE Test(Id INT PRIMARY KEY IDENTITY(1, 1) NOT NULL);"
int affectedRowsCount = await storage.ExecuteAsync(query, command =>
{
    //There aren't parameters here, but they'd be added like when reading.
    //As the affected rows count is the only thing returned, there isn't
    //facilities to read anything.
}).ConfigureAwait(continueOnCapturedContext: false);                

S’applique à