私はいつもEFキャッシュのクエリ結果がデータベース上で同じクエリを2回実行するのではなく、内部キャッシュからエンティティの一覧を返すと仮定しました。同じクエリを2回実行すると、Entity Framework 4がデータベースに戻る
var cipEntities = new CIPEntities(); // instantiate objectcontext
Console.WriteLine(cipEntities.Customers.ToList()); // fires db query
Console.WriteLine(cipEntities.Customers.ToList()); // also fires db query
私は誤った仮定をしていますか?私はRIAサービスに関する私の経験によって混乱しているかもしれません。おそらくRIAサービスは結果をキャッシュし、EFはそうではありませんか?
var results = cipEntities.Customers.ToList();
Console.WriteLine(results);
Console.WriteLine(results);
@Chad:そのため、彼は結果をローカルリストに保存しています。 –
@Chad - あなたはここでポイントを逃したと思う。 'ToList()'をもう一度呼び出す必要がないように、ローカルリストにキャッシュします(クエリの 'ToList()'への呼び出しを参照)。 – James