(This page uses CSS style sheets)

ECOOP 2006 logo

A Language Geek Perspective of LINQ, XLINQ, DLINQ

Tutorial T4

By: Erik Meijer (Microsoft)


Modern applications operate on data in several different forms: Relational tables, XML documents, and in-memory objects. Each of these domains can have profound differences in semantics, data types, and capabilities, and much of the complexity in today's applications is the result of these mismatches. The future "Orcas" release of Visual Studio aims to unify the programming models through integrated query capabilities in C# and Visual Basic, a strongly typed data access framework, and an innovative API for manipulating and querying XML.

This tutorial explains the programming language theory roots (monads and monad comprehensions, lazy/co-inductive functional programming, meta-programming) behind language integrated queries (LINQ) and briefly discusses the language enhancements to support them. We will give an in-depth treatment of the three domain specific APIs that constitute the LINQ framework namely the standard query operators for objects, the new XLinq API for manipulating XML, and the new DLinq and ADO.Net object-persistence infrastructures.

Duration: Half day

Level and Required experience


Speaker's profile

Erik Meijer is an architect/language pimper in the SQL Server division where he and Brian Beckman run a small team that collaborates closely with the Visual Basic and C# teams on making programming against data radically simpler. In the past, Erik has worked on real and imaginary programming languages such as Haskell, Mondrian, and Comega.