tgoop.com/csharpovich/252
Create:
Last Update:
Last Update:
Что такое отложенное и немедленное выполнение в LINQ?
Ответ:
В LINQ отложенное выполнение означает, что запрос не выполняется в указанное время. В частности, это достигается путем присвоения запроса переменной. При этом определение запроса сохраняется в переменной, но запрос не выполняется до тех пор, пока переменная запроса не будет итерирована.
Например:
DataContext productContext = new DataContext();Немедленное выполнение запроса полезно, например, если база данных часто обновляется, и в логике программы важно, чтобы результаты, к которым обращаются, были возвращены в той точке вашего кода, где был задан запрос. Немедленное выполнение часто вызывается с помощью таких методов, какAverage, Sum, Count, List, ToList или ToArray.
var productQuery = from product in productContext.Products
where product.Type == "SOAPS"
select product; // запрос не выполняется
foreach (var product in productQuery) // запрос выполняется здесь
{
Console.WriteLine(product.Name);
}
Например:
DataContext productContext = new DataContext();#questions
var productCountQuery = (from product in productContext.Products
where product.Type == "SOAPS"
select product).Count(); // запрос выполняется здесь
BY Профессор Си
Share with your friend now:
tgoop.com/csharpovich/252