Beruflich Dokumente
Kultur Dokumente
Description
Dapper also extend the IDbConnection interface with Async (asynchronous) methods:
ExecuteAsync
QueryAsync
QueryFirstAsync
QueryFirstOrDefaultAsync
QuerySingleAsync
QuerySingleOrDefaultAsync
QueryMultipleAsync
ExecuteAsync
The ExecuteAsync can execute a command one or multiple times asynchronously and return the
number of affected rows.
string sql = "INSERT INTO Customers (CustomerName) Values (@CustomerName);";
Console.WriteLine(affectedRows);
FiddleHelper.WriteTable(customer);
}
QueryAsync
The QueryAsync can execute a query and map the result asynchronously.
string sql = "SELECT TOP 10 * FROM OrderDetails";
using (var connection = new SqlConnection(FiddleHelper.GetConnectionStringSqlServerW3Schools()))
{
var orderDetails = connection.QueryAsync<OrderDetail>(sql).Result.ToList();
Console.WriteLine(orderDetails.Count());
FiddleHelper.WriteTable(orderDetails);
}
QueryFirstAsync
The QueryFirstAsync can execute a query and map asynchronously the first result.
string sql = "SELECT * FROM OrderDetails WHERE OrderDetailID = @OrderDetailID;";
QueryFirstOrDefaultAsync
The QueryFirstOrDefaultAsync can execute a query and map asynchronously the first result,
or a default value if the sequence contains no elements.
string sql = "SELECT * FROM OrderDetails WHERE OrderDetailID = @OrderDetailID;";
QuerySingleAsync
The QuerySingleAsync can execute a query and map asynchronously the first result and throws
an exception if there is not exactly one element in the sequence.
string sql = "SELECT * FROM OrderDetails WHERE OrderDetailID = @OrderDetailID;";
QueryMultipleAsync
The QuerySingleOrDefaultAsync can execute multiple queries within the same command and
map results asynchronously.
var sql = "SELECT TOP 3 * FROM Orders; SELECT TOP 3 * FROM OrderDetails;";
FiddleHelper.WriteTable(orders);
FiddleHelper.WriteTable(orderDetails);
}
}