После прочтения этого вопроса, Мне нужно прояснить некоторые вещи.
IQueryable<Customer> custs = from c in db.Customers
where c.City == "<City>"
select c;
IEnumerable<Customer> custs = from c in db.Customers
where c.City == "<City>"
select c;
Вопросы:
1) Можно ли сказать, что: в первом запросе SQLServer запускает всю операцию, включая предложение where и возвращает ТОЛЬКО соответствующие строки, а второй - SELECT *
. и возвращает все строки в фильтры С# и THEN?
2) Как насчет того, если у меня есть коллекция просто - в памяти. (var lstMyPerson = new List<MyPerson>()
)
IQueryable<MyPerson> lst = from c in lstMyPerson
where c.City == "<City>"
select c;
против
IEnumerable<MyPerson> custs = from c in lstMyPerson
where c.City == "<City>"
select c;
какова будет разница в исполнении?