Самый простой способ - создать новый объект ApplicationDbContext
внутри каждой задачи:
public class Program {
public void Main() {
var doWorks = Enumerable.Range(0, 1000).Select(async x => {
using var context = new ApplicationDbContext(*configuration here*);
await context.People.AsNoTracking().ToArrayAsync();
});
await Task.WhenAll(doWorks);
}
}
Обратите внимание, я сделал вашу лямбду async
и использовал await
. В противном случае контекст будет удален до завершения запроса.
Если вы делаете это как нагрузочный тест, ничего страшного. Просто имейте в виду, что в некоторых случаях выполнение 1000 задач одновременно может работать хуже, чем другие способы.