Question

Je commence à utiliser LINQ comme véritable langage de requête dans le code pour améliorer la lisibilité. Jusqu'à récemment, j'avais peur de toucher LINQ car l'équipe LINQ to SQL avait été transférée sous l'équipe Entity Framework (en essayant d'ignorer cette conversation ici). LINQ, le langage de requête sera-t-il un pari sûr pour l'avenir? industrie du déménagement)?

Était-ce utile?

La solution

Il convient de distinguer " LINQ " et " un fournisseur LINQ particulier " ;. Je pense qu'il est prudent de dire que LINQ lui-même est là pour rester - et que cela est phénoménalement utile pour le traitement de la collecte en cours via LINQ to Objects.

En ce qui concerne le fournisseur LINQ " gagne " (le cas échéant), c’est un pari plus difficile à suivre.

Je voudrais certainement apprendre les bases de LINQ lui-même - et LINQ to XML est également une belle API XML.

Autres conseils

Comme Jon a dit, il est très important de distinguer les fournisseurs LINQ. Par exemple

  • LINQ to objects: Ceci est basé sur IEnumerable < T > et est tellement enraciné dans la BCL que je trouve très difficile que cela aille n'importe où
  • LINQ to SQL: Je ne l’utilise pas autant que LINQ, mais je sais qu’il a de bonnes bases et que les gens semblent l’aimer.

Avertissement: j'ai travaillé sur LINQ alors je suis assez partial ici.

Ce qui est vraiment intéressant à propos de LINQ, à ce que nous avons vraiment bien compris, c’est que tout le monde peut écrire un fournisseur LINQ. Tout ce dont vous avez besoin, c'est de quelques méthodes pouvant être liées du nom correct. Vous avez tout à coup la syntaxe de la requête.

var query = from it in someCollection select it.SomeProperty;

Je peux écrire cette déclaration sans utiliser aucun des frameworks 3.5. J'ai mon propre fournisseur LINQ compatible avec la structure 2.0 et compatible avec la syntaxe de requête utilisée. dans le compilateur.

Personnellement, je me penche davantage vers la méthode lambda / extension synatx mais le code qui en résulte n’est vraiment pas différent.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top