Introduction à LINQ

Mise à jour : novembre 2007

LINQ (Language Integrated Query) est une innovation d'avant-garde 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 langage de requête différent pour chaque type de source de données : bases de données SQL, documents XML, services Web divers, etc. Avec LINQ, une requête est une construction de langage de premier ordre dans 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.

Requête LINQ avec Intellisense

Dans Visual Studio, vous pouvez écrire des requêtes LINQ en Visual Basic ou en C# avec des bases de données SQL Server, des documents XML, des groupes de données ADO.NET et des collections d'objets prenant en charge IEnumerable ou l'interface IEnumerable<T> générique. La prise en charge de LINQ pour l'Entity Infrastructure ADO.NET est également planifiée et les fournisseurs LINQ sont écrits par des tiers pour de nombreux services Web et d'autres implémentations de bases 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 3.5 du .NET Framework.

É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 :

Voir aussi

Autres ressources

LINQ (Language-Integrated Query)