LINQ 【Language INtegrated Query】 統合言語クエリ
概要
LINQ(Language INtegrated Query)とは、.NET Frameworkの仕様の一つで、様々な種類のデータ構造に対する操作や問い合わせなどを、プログラミング言語で書かれたプログラム中に一定の書式で直に記述することができるもの。SQLに似た構文で様々な形式のデータ構造に統一的にアクセスすることができる。標準では言語仕様に用意されたコレクション(配列など)、XML文書、ADO.NETを介した各種のリレーショナルデータベース(RDB)が利用でき、対象データ形式を追加することもできる。
従来、例えばSQLを用いる場合はクエリ(SQL文)をソースコード上は文字列として扱い、これを特定のモジュールなどに与えて解釈・実行させていたが、LINQは各言語の仕様の一部に取り込まれており、その言語のコードとして操作を記述して実行することができる。
LINQの記法としてクエリ構文とメソッド構文が用意されており、前者は「from 要素 in データソース where 抽出条件 select 戻り値」のようにSQL風の記法を、後者は「データソース.Where(抽出条件).Select(戻り値)」のようにメソッドチェーン風の記法を用いる。メソッド構文では引数としてラムダ式を用いる。
LINQは2007年にC# 3.0の言語仕様として登場し、その後Visual BasicやF#など他の.NET言語にも取り込まれた。JavaやJavaScript、PHP、Python、Go言語など.NET環境以外の様々な言語や環境への移植・実装も行われている。
(2020.4.23更新)