23/05/07 11:06:44.59 AUxqabWy0.net
>>435
ありがとうございます。
ToList()やToListAsync()はすべての結果が利用可能になるまで何も返されない、つまり
大量レコード処理には向かない
(B)の場合でもAsNoTracking()をつけて変更検知をOFFにしないと
Linq to DBがキャッシュしてしまいメモリ使用量が大きくなる
(B)でさらにI/Oをブロックしたくない場合、非同期ストリームを利用する
ということで大量レコードをチビチビ処理する場合は
async foreach( var row in query.AsNoTracking() )
という書き方に落ち着きました
他の参考URL
URLリンク(stackoverflow.com)
URLリンク(stackoverflow.com)