We recommend using Visual Studio 2017


Language-Integrated Query (LINQ) defines a set of general purpose standard query operators that you can use in .NET Framework 3.0 programming languages. These standard query operators enable you to project, filter, and traverse in-memory collections or tables in a database. Note that the LINQ queries are expressed in the programming language itself, and not as string literals embedded in the application code. This is a significant change from the way most applications have been written on earlier versions of the .NET Framework. Writing queries from within your programming language offers several key advantages. It simplifies querying by eliminating the need to use a separate query language. And if you use the Visual Studio 2008 IDE, LINQ also lets you take advantage of compile-time checking, static typing, and IntelliSense.

LINQ is integrated into various aspects of data access in the .NET Framework, including the DataSet disconnected programming model and existing SQL Server database schemas. This section describes LINQ to ADO.NET, the ADO.NET implementation of LINQ.

The following diagram provides an overview of how LINQ to ADO.NET relates to high-level programming languages, other LINQ technologies, and LINQ-enabled data sources.

LINQ to ADO.NET overview

LINQ to ADO.NET Overview

Provides an overview of LINQ to ADO.NET.

LINQ to DataSet

Provides information about LINQ to DataSet, including programming examples.


Provides information about LINQ to SQL, including programming examples.