28. Unique challenges in accessing, querying, updating and manipulating multiple types of data New language extensions unify data query techniques Work with data as objects, a natural part of your programming model Challenge Solution
29. LINQ-enabled data sources LINQ To Objects LINQ To XML LINQ-enabled ADO.NET Visual Basic Others LINQ To Entities LINQ To SQL LINQ To Datasets .Net Language Integrated Query (LINQ) Visual C# Objects Databases
30. Dim contacts = From c In customers Where c.State = "WA" Select New With { Name = c.Name, _ Phone = c.Phone } Dim contacts = customers _ .Where(Function(c) c.State = "WA") _ .Select(Function(c) New With { Name = c.Name, _ Phone = c.Phone }) Extension Methods Lambda Expressions Query expressions Objects Initializers Anonymous Types Local Variable Type Inference Nullable Value Type Expression Trees Deep XML Support Partial Methods
31. var contacts = from c in customers where c.State == "WA" select new { c.Name, c.Phone }; var contacts = customers .Where(c => c.State == "WA") .Select(c => new { c.Name, c.Phone }); Extension Methods Local Variable Type Inference Lambda Expressions Query expressions Objects Initializers Anonymous Types Expression Trees Nullable Value Type Partial Methods