Apprendre à propos de LINQ [en attente]]

vue d'ensemble

une des choses que j'ai beaucoup demandé sur ce site est 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. Donc, dans une tentative de consolider les connaissances que j'ai acquises sur Linq, je poste cette question dans le but de la maintenir et de la mettre à jour avec des informations supplémentaires alors que je continue à apprendre sur LINQ.

j'espère aussi qu'il sera être une ressource utile pour les autres personnes qui veulent en savoir plus sur LINQ.

QU'est-ce que LINQ?

de MSDN :

le projet LINQ est un nom de code pour ensemble d'extensions au .NET Cadre englobant langage-requête intégrée, set, et transformer les opérations. Il s'étend C# et Visual Basic avec langue maternelle syntaxe pour les requêtes et fournit la classe bibliothèques à prendre l'avantage de ces capacité.

cela signifie que LINQ fournit une méthode standard pour interroger une variété de sources de données en utilisant une syntaxe commune.

quelles saveurs de LINQ y a-t-il?

Actuellement, il existe quelques fournisseurs LINQ différents fournis par Microsoft:

il y en a beaucoup d'autres, dont beaucoup sont listé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

alors que puis-je faire avec LINQ?

Chook fournit un moyen de sortie fichiers CSV

Jeff montre comment supprimer les doublons d'un tableau

Bob obtient une liste de commandes distincte d'une datatable

Marxidad montre comment Trier un tableau

Dana obtient de l'aide pour la mise en œuvre d'un tri rapide à L'aide de Linq

par où commencer?

Un résumé des liens à partir de GateKiller la question de sont en dessous de :

Scott Guthrie fournit une intro à Linq sur son blog

Un aperçu de LINQ on MSDN

ChrisAnnODell suggère de vérifier:

Que dois-je faire avec LINQ?

Linq est actuellement disponible en VB.Net 9.0 et C# 3.0 vous aurez donc besoin de Visual Studio 2008 ou plus pour obtenir tous les avantages. (Vous pouvez toujours écrire votre code dans le bloc-notes et compiler en utilisant MSBuild)

il y a aussi un outil appelé LinqBridge qui vous permettra d'exécuter des requêtes de type Linq dans C# 2.0.

trucs et astuces utilisant LINQ

Cette question a certaines manières délicates à utiliser LINQ

184
demandé sur lomaxx 2008-08-19 18:50:43

10 réponses

Voici 101 échantillons Linq qui sont une excellente référence si vous voulez juste un exemple syntaxique rapide.

n'oublions pas non plus LinqPad :)

45
répondu ChrisAnnODell 2017-01-25 10:33:57
10
répondu Chris S 2009-08-28 12:11:15

mentionner LINQ aux entités depuis ADO.NET le cadre D'Entity sera un module .NET important.

6
répondu Andrei Rînea 2008-08-28 22:52:29

Get the book Linq in Action c'est une lecture facile pour un livre de codage et vous enseigne vraiment comment utiliser Linq et les nouvelles fonctionnalités de .NET 3.5 certaines des parties fraîches qu'ils mettent en place pour la langue.

4
répondu David Basarab 2008-08-30 02:02:43

quelques conseils de LINQ:

  • Appliquer les filtres avant de se joindre à améliorer les performances des requêtes
  • filtrer les requêtes LINQ en utilisant la comparaison de référence d'objet
  • Appliquer des agrégats de collections vide dans LINQ to SQL les requêtes
  • Retarder le chargement d'une propriété dans LINQ to SQL
  • Utiliser des fonctions table avec hâte chargement activé
  • Mis se joint dans le correct de l'ordre dans une requête LINQ to Objects
  • Compose une requête LINQ à l'intérieur d'une boucle

http://www.aspnetpro.com/articles/2009/04/asp200904zh_f/asp200904zh_f.asp

4
répondu Konstantin Tarkus 2009-04-03 20:14:24

à mon humble avis, un négligé, mais important, l'avantage est l'efficacité du codage de LINQ, e.g comment beaucoup peut être accompli avec si peu de code. Personnellement, je trouve la syntaxe de requête facile à lire et à comprendre.

4
répondu Matthew Sposato 2009-12-10 21:22:22

Quelques mises en garde sur l'utilisation de LINQ to SQL :

est-ce que Microsoft a vraiment tué LINQ à SQL?

is LINQ to SQL DOA?

il y a aussi quelques controverse à propos de la première version de Entity Framework , y compris une pétition .

3
répondu DOK 2017-05-23 12:17:44

je pense, la réponse à " quelles saveurs de LINQ y a-t-il?"est incomplète. Tout d'abord, vous pouvez créer votre propre "saveur". Oui, c'est une tâche avancée, mais il ya beaucoup de différents LINQ implémentations maintenant.

Voici la liste des fournisseurs LINQ existants (ainsi que d'autres ressources sur l'apprentissage du LINQ) sur le blog de Charlie Calvert: liens vers LINQ .

et il ya aussi une excellente série de billets de blog par Matt Warren sur la façon de créer votre propre fournisseur LINQ: LINQ: construire une série de fournisseurs IQueryable

3
répondu Alexandra Rusina 2009-11-06 17:56:08

My 2 cents , Lire les chapitres "11 les expressions de Requête et de LINQ to Objects" et "12 LINQ au-delà des collections" dans "C# en Profondeur" livre pour comprendre comment LINQ œuvres.

2
répondu refactor 2015-10-07 11:19:26

De Linq Pratique

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écharger de git, ouvert en studio visuel. Votre travail est de faire passer les tests.

[divulgation: j'ai appris quelques linq et je contribue au projet donc oui je pense que c'est génial, rapide et efficace pour apprendre.]

0
répondu BKSpurgeon 2017-01-28 00:34:07