IEnumerable <T> und IQueryable <T> Klärung?
Nach dem Lesendiese Frage, ich muss einige Dinge klären.
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;
Fragen:
1) Kann man sagen, dass in der ersten Abfrage der SQLServer die gesamte Operation ausführt, einschließlich der where-Klausel und der RückgabeNUR die relevanten Zeilen - während die zweite tutSELECT *
... und kehrt zurückalles Zeilen in C # undDANN Filter?
2) Was ist, wenn ich eine habe?Sammlung nur - in Erinnerung. (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;
Was wird jetzt der Unterschied in der Ausführung sein?