LINQ を使用してデータベースからデータを取得し、後でそのデータを取得して新しい LINQ コマンドの実行を開始した場合、DB に戻りますか? それとも記憶の中でやりますか?データの読み取りについてのみ話します。
だから私がこれを行うと:
var tabledata = dbContext.Table1.Where(u => u.isActive);
int count = tabledata.Count();
その後、特定の値をすばやく取得したいので、次のようにします。
string username = tabledata.Where(u => u.ID == 1).Select(u => u.Username).Single();
もう一度DBにアクセスしましたか?それとも、メモリ内のキャッシュされたテーブルのコピーに対して選択を実行しましたか?
編集:OK、何度も編集した後、私が取得しようとしているのは、DB に正常にヒットして IQueryable を返したと仮定すると、そのオブジェクトに対する後続のクエリは DB にヒットするか、メモリにとどまりますか?