foreach is called. What I dont understand is whyforeach internally but conceptually this is pretty much the same..ToList or To.Array makes sense, you'd be executing the query in place and returning the result of the execution rather than saving the query to be executed later. Am I misinterpreting the documentation?