統合言語クエリ
LINQはサードパーティによるものを含め、あらゆる種類のデータソースに対して適用することができる。これは、標準クエリ演算子に対応する機能を拡張メソッドとしてデータソースに追加することで実現している。
従来では同種のデータ型やオブジェクトの集合に対して列挙やソート、フィルタを効率的に扱うために配列 (Arrayクラス) やコレクションオブジェクトが用いられた。一方、データベースやXML上のデータ集合はADO.NETによってデータセットとして取り扱われており異なる操作が必要であった。LINQによって、これらのオブジェクトやデータセットを区別せず共通的に扱うことが可能となった。
例えば、マイクロソフトによるものでは次のような実装がある。
LINQ to Objects (あらゆるコレクション/列挙子をLINQクエリで操作可能にする)
LINQ to XML (XLinq)
LINQ to ADO.NET LINQ to SQL (DLinq / SQL Server専用) LINQ to Entities (SQL Server / Oracle Database / MySQL / SQLite等) LINQ to DataSet (DataSetに対する拡張メソッドにより、LINQクエリを記述可能とする)
Azure Table Storage (Windows AzureのキーバリューストアでLINQクエリを記述可能とする)
サードパーティ製データソースとしては、以下が挙げられる。
LINQ to Twitter - ツイッターの情報をソースとする。