Entity Framework を使用して、テーブルからいくつかのデータを選択し、foreachループで反復処理します。次の例では、いつデータがクエリされているのでしょうか?
例 1。
var countries = db.WorldCountries;
foreach(var item in countries)
{
Console.WriteLine("Country: {0}", item.Country);
}
例 2。
var countries = db.WorldCountries.Where(t => t.Country == "Country Name");
foreach(var item in countries)
{
Console.WriteLine("Country: {0}", item.Country);
}
最初の例でcountriesは、 is ですDbSet<WorldCountries>。2 番目の例では、 countriesisIQueryable<out WorldCountries>です。
上記の例の がなければ、.ToList()データはどのように取得されますか? foreachループの開始時に (.ToList()最初の反復の開始時に呼び出されたかのように)データ セット全体を取得するか、ループの各反復でデータベースにクエリを発行します。
ありがとう。