Po przeczytaniu this pytania, Muszę wyjaśnić pewne rzeczy.IEnumerable <T> i IQueryable <T> wyjaśnienie?
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;
Pytania:
1) jest to ok, aby powiedzieć, że: w pierwszym zapytaniu SQLServer pracuje całą operację w tym wyrażeniu WHERE i powrocie TYLKO odpowiednich rzędach - podczas gdy drugi robi SELECT *
... i zwraca wszystkie wiersze na C# i THEN filtrów?
2) A jeśli mam tylko kolekcję - w pamięci. (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;
jaka będzie różnica w wykonaniu teraz?
Zobacz odpowiedni temat: http://stackoverflow.com/questions/252785/what-is-the-difference-between-iqueryablet-and-ienumerablet. A także, masz rację w swoim założeniu w # 1. Nie jestem w 100% pewien co do drugiego, więc zostawię go innemu. – blizz
@blizz już to przeczytałem. wszystkie odpowiedzi pochodzą z książki POV. nic nie odpowiada na moje pytanie ...: (... niech będzie ** szczęśliwy **, żeby zobaczyć, która linia odpowiada na moje pytanie –