English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
LINQ (Language Integrated Query) est une syntaxe de requête unifiée dans C# et VB.NET, utilisée pour récupérer des données à partir de différentes sources et formats. Elle est intégrée à C# ou VB, éliminant ainsi les non-conformités entre le langage de programmation et la base de données, et fournissant une interface de requête unique pour différents types de sources de données.
Par exemple, SQL est un langage de requête structuré, utilisé pour sauvegarder et récupérer des données dans une base de données. De même, LINQ est une syntaxe de requête structurée intégrée à C# et VB.NET, utilisée pour récupérer des données à partir de différentes sources de données (par exemple, collections, DataSet ADO.Net, XML Docs, services Web et MS SQL Server, ainsi que d'autres bases de données).
La requête LINQ renvoie les résultats sous forme d'objets. Cela vous permet d'utiliser des méthodes orientées objets sur le jeu de résultats sans vous soucier de convertir les résultats de formats différents en objets.
L'exemple suivant montre une requête LINQ simple qui récupère toutes les chaînes de caractères contenant "a" à partir d'un tableau.
// Source de données string[] names = {"Bill", "Steve", "James", "Mohan"}; // Requête LINQ var myLinqQuery = from name in names where name.Contains('a') select name; // Exécution de la requête foreach(var name in myLinqQuery) Console.Write(name + " ");
Dans l'exemple ci-dessus, le tableau de chaînes de caractères nom est une source de données. Voici la requête LINQ assignée à la variable myLinqQuery.
from name in names where name.Contains('a') select name;
La requête ci-dessus utilise la syntaxe de requête LINQ. Vous en saurez plus sur cette syntaxe dans le chapitre sur la syntaxe de requête.
Avant d'exécuter une requête LINQ, vous ne recevrez pas ses résultats. Les requêtes LINQ peuvent être exécutées de plusieurs manières, ici nous utilisons une boucle foreach pour exécuter la requête stockée dans myLinqQuery. La boucle foreach exécute la requête sur le jeu de données et obtient des résultats, puis itère sur le jeu de résultats.
Par conséquent, chaque requête LINQ doit interroger une source de données quelconque, que ce soit un tableau, un ensemble, un XML ou une autre base de données. Après avoir écrit une requête LINQ, vous devez l'exécuter pour obtenir des résultats.
Apprenez pourquoi il faut utiliser LINQ dans le prochain chapitre.