Task.Factory.StartNew с асинхронной лямбдой и Task.WaitAll

Я пытаюсь использоватьTask.WaitAll в списке задач. Дело в том, что задачи - это асинхронная лямбда, которая ломаетTasks.WaitAll как это никогда не ждет.

Вот пример блока кода:

List<Task> tasks = new List<Task>();
tasks.Add(Task.Factory.StartNew(async () =>
{
    using (dbContext = new DatabaseContext())
    {
        var records = await dbContext.Where(r => r.Id = 100).ToListAsync();
        //do long cpu process here...
    }
}
Task.WaitAll(tasks);
//do more stuff here  

Это не ждет из-за асинхронной лямбды. Так как же мне ожидать операций ввода-вывода в моей лямбде?

Ответы на вопрос(4)

Ваш ответ на вопрос