Compartir a través de


IRelationalStorage.ExecuteAsync Método

Definición

Ejecuta una instrucción determinada. Especialmente diseñado para usar con consultas INSERT, UPDATE, DELETE o 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>
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)

Parámetros

query
String

Consulta que se va a ejecutar.

parameterProvider
Action<IDbCommand>

Agrega parámetros a la consulta. Los nombres de parámetro deben coincidir con los definidos en la consulta.

cancellationToken
CancellationToken

Token de cancelación. Tiene como valor predeterminado None.

commandBehavior
CommandBehavior

Comportamiento del comando que se debe usar. Tiene como valor predeterminado Default.

Devoluciones

Recuento de filas afectadas.

Ejemplos

En este ejemplo se muestra cómo realizar una llamada de base de datos optimizada a mano.

//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 = N'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);                

Se aplica a