D26: Language Integrated Query - Unified Querying across Data Sources and Programming Languages
D26: Language Integrated Query - Unified Querying across Data Sources and Programming LanguagesTuesday, Oct 24, from 13:30 to 14:00
Wednesday, Oct 25, from 14:00 to 14:30
Thursday, Oct 26, from 11:30 to 12:00
Thursday, Oct 26, from 16:00 to 16:30
.NET Language Integrated Query (LINQ) is based on the philosophy that querying should be native to your object-oriented programming language. LINQ allows you to write queries in a uniform way in your programming language itself, taking full advantage of strong typing and tool support. The days are soon past where you have to talk to each source of data in a different way, manually gluing together strings in some domain specific query language, and sending them off to unsafe API's with fingers crossed. By contrast, any data source provider can plug into the LINQ framework, allowing it to be queried from within any .NET programming language in a strongly typed, uniform way. LINQ draws on the synergy between different technologies: A predefined set of query operators, implemented by each data source, makes heavy use of generics. An object-relational mapping is employed against relational data. Code "quoting" Expression Trees allow expressions of the source language to be captured as first-class runtime objects which are automatically translated to the query's target language. This demo focuses on querying in C#. We show the strongly typed querying experience across in-memory collections, relational databases and XML documents, with a keen eye on the underlying technology. The demo uses a Technology Preview which is publically available for anyone to try. LINQ is scheduled to be released in the 2007 versions of the .NET Framework and Visual Studio (codename Orcas), and is the primary driver for new language features in the next versions of C# and Visual Basic. Similar technology could be employed on other platforms, however. Indeed we envision that LINQ will drive a widespread expectation of integrated query support in modern object-oriented programming languages and platforms, spurring lots of new and exciting research in its wake.
Mads Torgersen, Microsoft Corporation