Can someone explain what the fact that LINQ queries return a type of IEnumerable has to do with delayed execution?
Steven Parker173,958 Points
Queries that create an enumerable don't actually run until you iterate over the enumerable. That's due to the behind-the-scenes "magic" of the framework. So the data isn't fetched until you actually use it.
On the other hand, queries that involve an aggregate (like a sum or average) will occur right away. So will ones that get converted into a conventional storage format like an array or list.