An abbreviation for Language Integrated Query, LINQ will add constructs to Microsoft Visual Basic.NET and C# languages so developers can use the same body of commands to perform operations on relational data, objects, or XML.

The goal is to eliminate the need for developers to learn SQL or XML Query languages and interfaces such as ADO.NET(Active Data Objects) or ODBC.

LINQ includes language extensions to C# and VB that are largely based on SQL, plus a set of libraries that can integrate querying of data from a mix of sources. Although the current preview is limited to VB and C#, Microsoft is publishing all the constructs so they could be added to other languages such as C++ or JavaScript.

LINQ could be used to retrieve, modify, or enter data to targeted sources, and you could use the same program to access of a mix of data types. For instance, you could retrieve emails written to a specific customer and retrieve their records from a relational database table using a single LINQ query.

For now, LINQ is available only a technology preview, which is the equivalent of an alpha version, from MSDN. That’s different from a community Technology Preview (CTP), which covers beta level releases. The LINQ preview will include compilers for VB.NET and C# that will work with Beta 2 of Visual Studio 2005.

However, because the technology is in such early form, it will not be part of the upcoming Visual Studio 2005 release. We’re really at the first step, asking developers what they think, said C# product manager Dan Fernandez, noting that IDE support will come later.

LINQ was one of several alpha technology stage programming language features being announced to the world at the Microsoft Professional Developers 2005 (PDC) conference.

A related announcement was Visual Studio Tools for Applications (VSTA), which updates the old VBA (Visual Basic for Applications) for the .NET Framework and the upcoming Visual Studio 2005. Set for release in the third quarter of 2006, VSTA is intended for ISVs such as Autodesk and Dassault Systemes seeking to make their products extensible for Visual Studio developers.