Language Integrated Query (LINQ) makes querying data a first-class citizen of the C# programming language, as well as other LINQ-enabled languages (such as VB.NET). LINQ allows developers to program at a more declarative level, making the developer’s intent explicit while leveraging a reusable library of query operators. This session begins with the C# language features which make LINQ possible: lambda expressions, iterators, extension methods and anonymous types. You’ll learn the ins and outs of LINQ query operators and syntax, including grouping and joins, as well as paging, conversion and aggregation. You’ll also learn to exploit the power of LINQ for querying both in-memory objects and external data sources, such as relational databases or XML.