Introduction à LINQ
LINQ (Language Integrated Query) est une innovation dans Visual Studio 2008 et la version 3.5 du .NET Framework qui permet de rapprocher le monde des objets et le monde des données.
Traditionnellement, les requêtes sur des données sont exprimées sous forme de chaînes simples sans vérification de type au moment de la compilation ou prise en charge IntelliSense. En outre, vous devez apprendre un autre langage de requête pour chaque type de source de données : bases de données SQL, documents XML, divers services Web, etc. Avec LINQ, toute requête prend la forme d'une construction de langage de premier ordre en C# et Visual Basic. Vous écrivez des requêtes sur des collections d'objets fortement typées en utilisant des mots clés du langage et des opérateurs familiers. L'illustration suivante présente une requête LINQ partiellement terminée sur une base de données SQL Server dans C# avec vérification de type et prise en charge IntelliSense complètes.
Dans Visual Studio, vous pouvez écrire des requêtes LINQ en Visual Basic ou C# avec des bases de données SQL Server, des documents XML, des groupes de données ADO.NET et toute collection d'objets prenant en charge IEnumerable ou l'interface IEnumerable<T> générique. La prise en charge d'ADO.NET Entity Framework par LINQ est également planifiée et des fournisseurs LINQ sont écrits par des tiers pour de nombreux services Web et d'autres implémentations de base de données.
Vous pouvez utiliser des requêtes LINQ dans de nouveaux projets ou avec des requêtes non-LINQ dans des projets existants. La seule spécification est que le projet cible la version .NET Framework 3.5 ou ultérieure.
Étapes suivantes
Pour en savoir plus sur LINQ, commencez par vous familiariser avec quelques concepts de base dans la section Mise en route pour le langage de votre choix :
Lisez ensuite la documentation concernant la technologie LINQ qui vous intéresse :
Bases de données SQL Server : LINQ to SQL
Documents XML : LINQ to XML
Groupes de données ADO.NET : LINQ to DataSet
Collections .NET, fichiers .NET et chaînes .NET, etc. : LINQ to Objects