Я понимаю, что если я вызову приведенный ниже код, запросит данные из базы данных и вернет фактический объект локально в память. После вызова этого кода последующие манипуляции со списком не будут вызывать базу данных снова:
db.Context.Where(...).ToList()
Если я не использую ToList только с вызовом Where или с вызовом Select, он вернет объект IQueryable <>.
var data = db.Context.Where(...).Select (...) or db.Context.Where(...);
Означает ли это, что метод еще не вызывает базу данных для извлечения данных, пока я не вызову ToList, First () и т. Д ...
foreach (var a in data)
{
var b = a.SomeCollection.ToList()
}