но это тоже должно было бы ждать (не так ли?) И так далее по цепочке
Да, именно это; await
заразно. Таким образом, вы получите:
public async Task<List<Product>> ReadAllProducts()
{
List<Product> products = new List<Product>();
string queryGetAllProducts = "SELECT * FROM Products;";
using (SqlConnection conn = new SqlConnection(Configuration.CONNECTION_STRING))
{
// ...
}
}
, но отметьте, что lot больше операций здесь async
-совместимо - например, ReadAsync
et c , Или, чтобы упростить задачу, просто попросите Dapper сделать тяжелую работу:
public async Task<List<Product>> ReadAllProducts()
{
using (var conn = new SqlConnection(Configuration.CONNECTION_STRING))
{
var products = await conn.QueryAsync<Product>("SELECT * FROM Products;");
return products.AsList();
}
}
Тогда ваше использование вызовов await
this:
var data = await ReadAllProducts();
// do something with "data"