使用实体框架,我从表中选择一些数据并使用循环对其进行迭代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
是DbSet<WorldCountries>
在第二个示例中,countries
是IQueryable<out WorldCountries>
。
如果没有.ToList()
上述示例中的数据,如何检索数据?是在循环开始时检索到的整个数据集foreach
(就像.ToList()
在第一次迭代开始时调用的一样)或在循环的每次迭代中向数据库发出查询。
谢谢。