LINQ (Language INtegrated Query) est une fonctionnalité introduite dans le framework .NET qui permet aux développeurs de travailler avec des données à travers un langage de requête unifié. Il s'agit essentiellement d'un moyen de traiter les données en utilisant une syntaxe de requête similaire à SQL, mais qui peut également être utilisée pour interroger des collections d'objets dans le code.
LINQ brille par sa simplicité d'utilisation et sa flexibilité : les développeurs peuvent écrire des requêtes LINQ en utilisant un grand nombre de fournisseurs de données, tels que LINQ to SQL, LINQ to Entities, LINQ to Objects et LINQ to XML, grâce auxquelles les développeurs peuvent facilement interagir avec des sources de données telles que des bases de données, des fichiers XML et des collections d'objets.
LINQ peut être utilisé pour effectuer une variété de tâches, telles que la sélection, le filtrage, le tri, la jointure et le regroupement des données. De plus, LINQ permet également aux développeurs de créer des requêtes dynamiques à l'aide d'expressions lambda (appelées prédicats dans ce contexte). Cette fonctionnalité est particulièrement utile pour les projets qui nécessitent des requêtes de données complexes et qui nécessitent une grande flexibilité dans la manipulation des données.