Endereçamento IEnumerable <T> e IQueryable <T>?
Depois de leristo pergunta, preciso esclarecer algumas coisas.
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;
Questões:
1) É correto dizer que: na primeira consulta o SQLServer está executando toda a operação incluindo cláusula where e retornandoSÓ as linhas relevantes - enquanto o segundo fazSELECT *
... e retornatodos linhas em C # eENTÃO filtros?
2) E se eu tiver umcoleção meramente - na memória. (var lstMyPerson = new List<MyPerson>()
)
IQueryable<MyPerson> lst = from c in lstMyPerson
where c.City == "<City>"
select c;
vs
IEnumerable<MyPerson> custs = from c in lstMyPerson
where c.City == "<City>"
select c;
qual será a diferença na execução agora?