Chapter 1, "Taking a New Approach to Data Access in ADO.NET 3.0," gave you a whirlwind tour of Microsoft's five LINQ implementations included in Visual Studio 2008 and a subsequent Web release: LINQ to Objects, LINQ to SQL, LINQ to DataSets, LINQ to Entities, and LINQ to XML. Chapter 1 emphasized by example the primary benefits of LINQ queries: increased developer productivity and application robustness. LINQ delivers these benefits by enabling strongly typed queries over a variety of data domains with a common set of SQL-like query expressions that are keywords of the C# 3.0 and VB 9.0 languages. Incorporating the elements of query expressions into the programming language eliminates the requirement for brittle strings of SQL statements and, for VB 9.0, XML Infosets.
The chapters of Part II provide the details you need to understand the new concepts, keywords, and syntax that the .NET team added to C# and VB in support of LINQ. Chapter 2, "Understanding LINQ Architecture and Implementation," covers these new LINQ-related language features in C# 3.0 and VB 9.0:
Local variable type inference implemented by C# 3.0's
var and VB 9.0's
Dim keywords to shorten the syntax for declaring and instantiating generic types and support anonymous types
Object initializers ...