Después de leer this pregunta, Necesito aclarar algunas cosas.IEnumerable <T> y IQueryable <T> aclaración?
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;
Preguntas:
1) ¿Es correcto decir que: en la primera consulta del SQL Server se está ejecutando la operación entera incluyendo la cláusula dónde y regresar SOLO las filas relevantes - mientras que el segundo lo hace SELECT *
... y devuelve todas las filas en C# y THEN filtros?
2) ¿Qué pasa si tengo colección simplemente - en la memoria. (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;
lo que será la diferencia en la ejecución ahora?
Eche un vistazo a este tema relevante: http://stackoverflow.com/questions/252785/what-is-the-difference-between-iqueryablet-and-ienumerablet. Y también, tienes razón en tu suposición en el # 1. No estoy 100% seguro sobre el n. ° 2 así que lo dejo a otro. – blizz
@blizz ya lo leí. todas las respuestas son de un libro POV. nada respondiendo mi pregunta allí ...: (... estaré ** feliz ** para ver qué línea responde mi pregunta –