Vue d'ensemble
Une des choses que j'ai demandé à beaucoup de sujet sur ce site est de LINQ. Les questions que j'ai posées ont été nombreuses et variées et souvent n'ont pas beaucoup d'contexte derrière eux. Ainsi, dans une tentative de consolider les connaissances que j'ai acquises sur Linq je poste cette question, en vue du maintien et de la mise à jour avec des informations supplémentaires que je continue à apprendre à propos de LINQ.
J'espère aussi qu'il va se révéler être une ressource utile pour d'autres personnes qui souhaitent se renseigner sur LINQ.
Qu'est-ce que LINQ?
À partir de MSDN:
Le Projet LINQ est un nom de code pour un ensemble d'extensions du .NET Cadre englobant language-integrated query, ensemble, et les opérations de transformation. Il s'étend en C# et Visual Basic avec la langue maternelle la syntaxe pour les requêtes et offre une classe les bibliothèques de profiter de ces des capacités.
Ce que cela signifie, c'est que LINQ fournit un moyen standard pour interroger une variété de sources de données à l'aide d'une syntaxe commune.
Quelles saveurs de LINQ?
Actuellement, il ya quelques différents fournisseurs LINQ fourni par Microsoft:
- Linq to Objects qui vous permet d'exécuter des requêtes sur un objet IEnumerable.
- Linq to SQL qui permet d'exécuter des requêtes sur une base de données orientée objet.
- Linq to XML qui vous permet d'interroger, de charge, de valider, de sérialiser et manipuler des documents XML.
- Linq to entities comme suggéré par Andrei
- Linq to Dataset
Il en existe quelques autres, dont la plupart sont répertoriés ici.
Quels sont les avantages?
- Normalisé moyen d'interroger plusieurs sources de données
- Moment de la compilation de la sécurité de requêtes
- Optimisé de façon à effectuer l'ensemble des opérations basées sur les objets de la mémoire
- Possibilité de déboguer des requêtes
Que puis-je faire avec LINQ?
Chook fournit un moyen de sortie des fichiers CSV
Jeff montre comment supprimer les doublons d'un tableau
Bob obtient un distinct liste ordonnée d'un datatable
Marxidad montre comment trier un tableau
Dana reçoit de l'aide mise en œuvre d'un Tri Rapide à l'Aide de Linq
Par où commencer?
Un résumé des liens à partir de GateKiller est question sont ci-dessous:
Scott Guthrie fournit une introduction à Linq sur son blog
Un aperçu de LINQ sur MSDN
ChrisAnnODell suggère de vérifier:
De quoi ai-je besoin d'utiliser LINQ?
Linq est actuellement disponible dans VB.Net 9.0 et de C# 3.0, de sorte que vous aurez besoin de Visual Studio 2008 ou plus, pour obtenir tous les avantages. (Vous pouvez toujours écrire votre code dans le bloc-notes et de les compiler à l'aide de MSBuild)
Il est également un outil appelé LinqBridge qui vous permettra d'exécuter Linq comme les requêtes en C# 2.0.
Conseils et astuces à l'aide de LINQ
Cette question a certaines manières délicates à utiliser LINQ