让说,我有一个非常大的结果集(100.000行)的查询和我在需要循环和执行更新:Linq2Sql:如何管理大型结果集?
var ds = context.Where(/* query */).Select(e => new { /* fields */ });
foreach(var d in ds)
{
//perform update
}
我很好在这个过程中需要长时间来执行,但我的服务器上的内存量有限。
在foreach中发生了什么?整个结果是否从数据库中立即获取?
使用Skip和Take来分段更新会更好吗?