LINQ and ADO.NET innovations

Language-Integrated Query (LINQ) is a breakthrough technology that eliminates the impedance mismatch among different data domains. With LINQ, developers do not need to learn separate query syntaxes when querying over diverse data domains such as XML, Relational and Objects. LINQ has been very well received both last year at its announcement at the PDC, and more recently at Tech-Ed in Boston. Orcas, the next version of Visual Studio, includes LINQ infrastructure that enables this powerful combination of languages and API’s, as well as concrete support in multiple programming languages and data domains.

At the same time, our ADO team has been building a new data mapping substrate called ADO.NET Entities. Entities move the data model up from the physical structure of relational tables to a data model that more accurately represents business entities such as “Customer” or “Order” that could map to multiple relational tables and views. You can think about entities as a declarative way to specify the structure of a business object which you can then add business logic to and, through the power of LINQ, be able to query over them as well. Entities will allow us to provide a common data model within the familiar ADO.NET environment that can be used across high-level functions such as reporting, replication, and BI. For major enterprise applications, Entities allow developers to define complex mapping to relational data, enabling the creation of new business structures when the underlying database schema cannot be changed.

These two major advances in programmatically accessing data will help developers on our platform be even more productive. Check out the channel 9 session that Anders Hejlsberg and Sam Druker did recently on this.

So that you can better identify these technologies, we have simplified our naming scheme as follows:

LINQ to ADO.NET, which includes:

            LINQ to DataSet

            LINQ to Entities

            LINQ to SQL (formerly DLinq)

LINQ support for other data types include:

            LINQ to XML (formerly XLinq)

            LINQ to Objects

Our teams are busy working on the next version of Visual Studio and incorporating these technologies in a consolidated way to ensure the very best experience for our developers. We have the May CTP for LINQ available here and keep an eye out for a preview of the Entities work before the end of this year.

Namaste!