Aperçu
L'une des choses sur lesquelles j'ai beaucoup posé de questions sur ce site est LINQ . Les questions que j'ai posées sont vastes et variées et n'ont souvent pas beaucoup de contexte derrière elles. Donc, dans le but de consolider les connaissances que j'ai acquises sur Linq, je publie cette question dans le but de la maintenir et de la mettre à jour avec des informations supplémentaires au fur et à mesure que je continue à apprendre sur LINQ.
J'espère également que ce sera une ressource utile pour d'autres personnes souhaitant en savoir plus sur LINQ.
Qu'est-ce que LINQ?
Depuis MSDN :
Le projet LINQ est un nom de code pour un ensemble d'extensions du .NET Framework qui englobe les opérations de requête, de définition et de transformation intégrées au langage. Il étend C # et Visual Basic avec la syntaxe du langage natif pour les requêtes et fournit des bibliothèques de classes pour tirer parti de ces fonctionnalités.
Cela signifie que LINQ fournit un moyen standard d'interroger une variété de sources de données à l'aide d'une syntaxe commune.
Quelles sont les saveurs de LINQ?
Il existe actuellement quelques fournisseurs LINQ différents fournis par Microsoft:
- Linq to Objects qui vous permet d'exécuter des requêtes sur n'importe quel objet IEnumerable.
- Linq to SQL qui vous permet d'exécuter des requêtes sur une base de données d'une manière orientée objet.
- Linq to XML qui vous permet d'interroger, charger, valider, sérialiser et manipuler des documents XML.
- Linq aux entités comme suggéré par Andrei
- Linq vers Dataset
Il y en a plusieurs autres, dont beaucoup sont énumérés ici .
Quels sont les bénéfices?
- Méthode standardisée pour interroger plusieurs sources de données
- Sécurité du temps de compilation des requêtes
- Méthode optimisée pour effectuer des opérations basées sur des ensembles sur des objets en mémoire
- Possibilité de déboguer les requêtes
Alors, que puis-je faire avec LINQ?
Chook fournit un moyen de générer des fichiers CSV
Jeff montre comment supprimer les doublons d'un tableau
Bob obtient une liste ordonnée distincte à partir d'un tableau
datable Marxidad montre comment trier un tableau
Dana obtient de l'aide pour implémenter un tri rapide à l'aide de Linq
Où commencer?
Un résumé des liens de la question de GateKiller sont ci - dessous :
Scott Guthrie propose une introduction à LINQ sur son blog
Un aperçu de LINQ sur MSDN
ChrisAnnODell suggère de vérifier:
De quoi ai-je besoin pour utiliser LINQ?
Linq est actuellement disponible dans VB.Net 9.0 et C # 3.0, vous aurez donc besoin de Visual Studio 2008 ou supérieur pour bénéficier de tous les avantages. (Vous pouvez toujours écrire votre code dans le bloc-notes et le compiler à l'aide de MSBuild)
Il existe également un outil appelé LinqBridge qui vous permettra d'exécuter des requêtes comme Linq en C # 2.0.
Trucs et astuces avec LINQ
Cette question a quelques façons délicates d'utiliser LINQ