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
Réponses:
LINQ vers les entités:
J'ai beaucoup plus tagué sur Delicious.com .
la source
Mentionnez LINQ to Entities puisque ADO.NET Entity Framework sera un module .NET important.
la source
Obtenez le livre Linq en action, il est facile à lire pour un livre de codage et vous apprend vraiment à utiliser Linq et les nouvelles fonctionnalités de .NET 3.5, certaines des parties intéressantes qu'ils ont intégrées à la langue.
la source
Quelques conseils LINQ:
http://www.aspnetpro.com/articles/2009/04/asp200904zh_f/asp200904zh_f.asp
la source
IMHO, un avantage négligé, mais important, est l'efficacité de codage de LINQ, par exemple ce qui peut être accompli avec si peu de code. Personnellement, je trouve la syntaxe de la requête facile à lire et à comprendre.
la source
Quelques mises en garde concernant l'utilisation de LINQ to SQL :
Microsoft a-t-il vraiment tué LINQ to SQL?
Est-ce que LINQ to SQL DOA?
Il y a aussi une controverse au sujet de la première version d' Entity Framework , y compris une pétition .
la source
Je pense que la réponse à "Quelles saveurs de LINQ existe-t-il?" est incomplet. Tout d'abord, vous pouvez créer votre propre "saveur". Oui, c'est une tâche avancée, mais il existe actuellement de nombreuses implémentations LINQ différentes.
Voici la liste des fournisseurs LINQ existants (ainsi que d'autres ressources sur l'apprentissage de LINQ) sur le blog de Charlie Calvert: Liens vers LINQ .
Et il existe également une excellente série d'articles de blog par Matt Warren sur la façon de créer votre propre fournisseur LINQ: LINQ: Créer une série de fournisseurs IQueryable
la source
Mes 2 cents, lisez les chapitres "11 expressions de requête et LINQ to Objects" et "12 LINQ au-delà des collections" dans le livre "C # in Depth" pour comprendre comment fonctionne LINQ.
la source
Pour la pratique Linq
Si vous voulez un peu de pratique sur LINQ avec des exercices et des réponses, vraiment facile à mettre en place et, à mon avis, génial:
https://github.com/walkhard/linq-exercises
Téléchargez depuis git, ouvrez dans Visual Studio. Votre travail consiste à faire passer les tests.
[divulgation: j'en ai appris un peu de linq et je contribue au projet, alors oui, je pense que c'est un moyen génial, rapide et efficace d'apprendre.]
la source