SQL Serverから多くの結果を返すLinqクエリがあります。データベースONCEからレコードを取得し、DBにアクセスすることなく、ページ内のレコードをオンデマンドでループするだけです。
簡単なクエリを次に示します。
Dim c1 = (From c2 In _db.CategoryRelationShip
Select c2)
今、ページのどこかで私は:
For Each item In c1
Next
そして再び:
For Each item In c1
Next
これは、すべての For ループでデータベースに何度もアクセスしていることを意味しますか? または、元のLinqがすべてのレコードを取得し、配列/結果をループしているだけですか?
toList() メソッドについて聞いたので、必要かどうか混乱しています...つまり、そうするとどうなりますか:
Dim c1 = (From c2 In _db.CategoryRelationShip
Select c2).toList()