Dapper - Async

    ExecuteAsync

    The can execute a command one or multiple times asynchronously and return the number of affected rows.

    Try it: | .NET Framework

    The QueryAsync can execute a query and map the result asynchronously.

    1. string sql = "SELECT TOP 10 * FROM OrderDetails";
    2. using (var connection = new SqlConnection(FiddleHelper.GetConnectionStringSqlServerW3Schools()))
    3. {
    4. var orderDetails = connection.QueryAsync<OrderDetail>(sql).Result.ToList();
    5. Console.WriteLine(orderDetails.Count());
    6. FiddleHelper.WriteTable(orderDetails);

    QueryFirstAsync

    The QueryFirstAsync can execute a query and map asynchronously the first result.

    Try it: .NET Core |

    The QueryFirstOrDefaultAsync can execute a query and map asynchronously the first result, or a default value if the sequence contains no elements.

    1. string sql = "SELECT * FROM OrderDetails WHERE OrderDetailID = @OrderDetailID;";
    2. {
    3. var orderDetail = connection.QueryFirstOrDefaultAsync<OrderDetail>(sql, new {OrderDetailID = 1}).Result;
    4. FiddleHelper.WriteTable(new List<OrderDetail>() { orderDetail } );
    5. }

    Try it: .NET Core |

    QuerySingleAsync

    Try it: | .NET Framework

    The QuerySingleOrDefaultAsync can execute a query and map asynchronously the first result, or a default value if the sequence is empty; this method throws an exception if there is more than one element in the sequence.

    1. string sql = "SELECT * FROM OrderDetails WHERE OrderDetailID = @OrderDetailID;";
    2. using (var connection = new SqlConnection(FiddleHelper.GetConnectionStringSqlServerW3Schools()))
    3. {
    4. var orderDetail = connection.QuerySingleOrDefaultAsync<OrderDetail>(sql, new {OrderDetailID = 1}).Result;
    5. FiddleHelper.WriteTable(new List<OrderDetail>() { orderDetail } );
    6. }

    Try it: | .NET Framework

    QueryMultipleAsync

    The QuerySingleOrDefaultAsync can execute multiple queries within the same command and map results asynchronously.