クエリの実行タイミングについて

ちょっとわかったので書置

要するにプログラム的に答えをハッキリさせるのに必要なタイミングドンピシャで実行してくれてるイメージでいれば当たらずとも遠からずって印象

Using db = New EFModel()

           ' ----- 遅延実行 -----

           'この時点では変数にクエリ式が生成されて格納されているだけ
           '⇒SQL実行はされていない
           Dim query = From rcd In db.PokemonMasters
                       Select rcd

           'こんな風に分けても当然構わない(このようにメソッド式でももちろんOK)
           Dim whereQuery = query.Where(Function(x) x.UID = 3)


           'ここで初めて実行される
           For Each q In query
               Console.WriteLine($" | {q.UID} | {q.DataID} | {q.図鑑No} | {q.命名名称} | <- Record ")
           Next

           '----- 即時実行 -----
           Dim result As Integer = (From rcd In db.PokemonMasters Select rcd.DataID).Sum()

           Console.WriteLine(result)
       End Using

※即時実行の処理はあくまで説明用、IDなんか足し合わせても意味ないし...


ほとんどここの記事そのままだったり

遅延実行と即時実行