Допустим, у меня есть запрос с очень большим набором результатов (+100 000 строк), и мне нужно перебрать и выполнить обновление:
var ds = context.Where(/* query */).Select(e => new { /* fields */ } );
foreach(var d in ds)
{
//perform update
}
Я в порядке, этот процесс занимает много времени, но у меня ограниченный объем памяти на моем сервере.
Что происходит в foreach? Получается ли весь результат сразу из базы данных?
Было бы лучше использовать Skip and Take для обновления по частям?