Language Integrated Query (LINQ),  is a component released within the .NET 3.5 Framework. It is one of the  most powerful features of .NET 3.5. It serves the purpose of querying  objects.
LINQ comprises a series  of operators, which are used to query, filter and project data in  arrays, enumerable classes, relational databases and XML. In order to  query data, the data needs to be encapsulated as an object. In case the  data source is not an object, it first needs to be converted to an  object in order for LINQ to query it. 
LINQ has its own Query Processing Engine. The information returned by a LINQ query is a collection of in-memory object which may be enumerated. 
The LINQ concept treats the data source as an Object, rather than a Database. So we may say, its an object that is queried. LINQ may query any type of data source, like:
-  LINQ querying SQL (MS SQL Server supported).
-  LINQ querying Datasets (Querying is possible on Datasets and DataTables)
-  LINQ querying ORM Solution
-  LINQ querying Objects (In-memory data may be queried)
-  LINQ querying XML (Querying is possible on XML data source
