LINQ plays a vital role in this. It is a generalized query language which can be used with various kinds of data sources and formats.
Here is a simple program which demonstrates LINQ functioning.
The query doesn't work by specifying the query variable itself. "foreach" loop refers to the query variable and then the logic written in query is executed. Then developer can process on fetched data in the loop. Hers is how the LINQ works.
Please see the bottom section of page for references.