После того, как я прочитал кучу связанных с LINQ вещей, я вдруг понял, что ни одна статья не описывает, как писать асинхронный запрос LINQ.
Предположим, что мы используем LINQ to SQL, ниже оператор ясен. Однако, если база данных SQL реагирует медленно, то поток, использующий этот блок кода, будет затруднен.
var result = from item in Products where item.Price > 3 select item.Name;
foreach (var name in result)
{
Console.WriteLine(name);
}
Похоже, что текущая спецификация запроса LINQ не обеспечивает поддержку этого.
Есть ли способ сделать асинхронное программирование LINQ? Он работает так, как будто есть обратный вызов уведомление, когда результаты готовы к использованию без какой-либо задержки блокировки ввода-вывода.