Zapytanie nie zostanie wykonane, dopóki nie zrobisz czegoś, aby je wyliczyć. (w tym przypadku wywołanie ToList() wylicza go i to właśnie powoduje wykonanie zapytania). Możesz obserwować to zachowanie, jeśli podzielisz wywołanie na ToList i podłączysz program SQL Profiler -- zobaczysz, że zapytanie nie przechodzi do SQL Server, dopóki nie wykonasz polecenia ToList() (możesz również wyeliminować ToList( ) wywołaj i uruchom listę foreach over - uzyskasz ten sam efekt, w którym zapytanie tak naprawdę nie zostanie wykonane, dopóki go nie powtórzysz).

person Lowps    schedule 26.06.2011    source źródło