LINQ is actually enabled through a number of language features, but most importantly is perhaps the ability to "cast" an expression as an "expression tree" (an AST), allowing code to inspect the expression, extract, change, rebuild and finally compile. This is what enables a library such as Entity Framework to do accept in-language queries, extract clauses and generate efficient SQL where clauses, cross joins etc.
Supported by Microsoft leading to regular updates, and extensive documentation.