Language Integrated Query Mike Taulty Developer & Platform Group Microsoft Ltd
Agenda Why do we want LINQ? How are query capabilities added to the languages? What is LINQ enabled in VS2008 & Fx 3.5? What is LINQ enabled after VS2008?
Why do we need LINQ? My Code “API” SQL XML Query As String Loosely typed result Objects
Language Syntax for Querying
LINQ brings us closer to data
VB9 LINQ in the Languages Many new language features in VB9 & C# 3 XML Literals Relaxed Delegates C# 3.0 Extension Methods Object Initialisers Anonymous Types Implicit Typing Lambdas Collection Initialisers Partial Methods
VB9 LINQ in the Languages Some are enablers for LINQ C# 3.0 Collection Initialisers XML Literals Relaxed Delegates Partial Methods
LINQ Language Features
Query Pattern -> Language Features
Compiler looks for extension methods which extend IEnumerable IQueryable
IEnumerable & IQueryable IEnumerable – query executed piece by piece IQueryable – query executed in one go where select Capture & Execute Execute where select
LINQ in VS2008 & Fx 3.5 LINQ Objects (IE) XML (IE) SQL (IQ) DataSet (IE)
LINQ to SQL, XML and DataSet
Beyond VS 2008 – ADO.NET V3.0 DataStore (SQL, Oracle, etc) ADO.NET Provider (e.g. SqlClient, OracleClient, etc) ADO.NET V2.0 ADO.NET Entity Provider (EntityClient) Conceptual Data Model Query with LINQ to Entities, Entity SQL ADO.NET V3.0 & Entity Framework Mapping
LINQ to Entities
Summary LINQ plumbed into VB9 and C#3.0 Languages Lots of other language features too LINQ enabled in.NET Framework V3.5 Objects, SQL, XML, DataSet LINQ enabled post.NET Framework V3.5 Entities...
Resources MSDN LINQ Developer Centre ADO.NET Team Blog
MSDN in the UK Visit Newsletter Events Nugget Videos Blogs
© 2007 Microsoft Ltd. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.