Language Integrated Query
# Language Integrated Query

Language Integrated Query (litt. « requête intégrée au langage », aussi connu sous le nom de LINQ) est un composant du framework .NET de Microsoft qui ajoute des capacités d'interrogation sur des données aux langages .NET en utilisant une syntaxe proche de celle de SQL. La plupart des concepts mis en place par LINQ ont été initialement testés dans un projet de recherche Microsoft nommé « Cω ». LINQ a été mis en production dans le cadre du framework .NET 3.5, le 19 novembre 2007.

LINQ définit un ensemble d’opérateurs de requêtes qui peuvent être utilisés pour effectuer des requêtes, filtrer et projeter des données dans des collections, dans des classes énumérables, dans des structures XML, dans des bases de données relationnelles, et dans des sources de données tierces. Bien qu’il permette d’effectuer des requêtes sur n’importe quelle source de données, il exige que les données soient encapsulées dans des objets. Par conséquent, si la source de données ne stocke pas nativement les données en tant qu’objets, les données doivent être mappées sur le domaine objet correspondant. Les requêtes effectuées à l’aide d’opérateurs LINQ seront exécutées soit directement par le moteur de traitement de LINQ, soit par un mécanisme d’extension géré par les providers LINQ. Ceux-ci implémentent leur propre moteur de traitement de requête, ou convertissent les données dans un format approprié afin qu’ils soient exécutés sur un système de stockage de données différent (tel qu’une base de données par exemple). Le résultat de la requête est renvoyé sous forme d’une collection d’objets qui peut être énumérée.

