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 番目の例では、 countries
isIQueryable<out WorldCountries>
です。
上記の例の がなければ、.ToList()
データはどのように取得されますか? foreach
ループの開始時に (.ToList()
最初の反復の開始時に呼び出されたかのように)データ セット全体を取得するか、ループの各反復でデータベースにクエリを発行します。
ありがとう。