Skip to Content

Solved: How do I call async method in C#?

Question/Problem Description

How to call GetMemberList() method in FOR EACH loop in C#?

public async Task<IEnumerable<Domain.BARTER.Member>> GetMemberList()
{
using (var con = new SqlConnection(BridgeControllers.Database.BarterDBString))
{
var storedProcedureName = "MemberList";
return await con.QueryAsync<Domain.BARTER.Member>(storedProcedureName, new { }, commandType: CommandType.StoredProcedure);
}
}

Solution

Calling this in a for loop will be the best.

  • The method does not seem to have a filter (for example, maybe you would be getting a list of members based on a parameter that’s changing in each iteration). So I would surmise it returns all Members.
  • This method is creating a new SqlConnection, which would mean this would be done on each iteration. That might not be the best. You could of course pass the connection into this method as a parameter, then instantiate one connection and pass that for each call.

Are you using EntityFramework?

LINQ to Entities would be another way to accomplish this if you are using EntityFramework.