Linq pour les nuls

Langue Integrated Query (LINQ) utilise un extraordinaire éventail d'opérateurs. Un opérateur

Sommaire

est un mot spécial qui indique LINQ ce type de requête à exécuter, comme vérifier si deux valeurs sont égales. Les opérateurs peuvent atteindre des centaines, mais dans la plupart des cas, vous allez effectuer la majorité des tâches en utilisant seulement quelques opérateurs standards. Voici une liste des opérateurs LINQ essentiels.

OpérateurDescription
deDéfinit l'objet temporaire utilisé pour effectuer une requête. Pensez ofthis opérateur définissant l'objet d'élément individuel de whichyou dérivent toutes les autres données de la requête. Par exemple, vous choosewhat données apparaîtront dans la sortie et la façon dont les données sont orderedbased sur la variable temporaire. La del'opérateur est le seul qui doit apparaître dans chaque youcreate de requête.
dansDéfinit la source de données utilisée pour obtenir les données. A données SourceCan être tout objet pris en charge par un fournisseur de données. Les providercreates une connexion entre la source de données et l'exemple LINQ query.For, une source de données peut inclure un objet tel une zone de liste, un fichier XML, une table SQL Server, Active Directory, un Webservice, ou à peu près tout ce que vous voulez à utiliser pour collectinformation. Il est même possible de travailler directement avec les fichiers sur le lecteur yourhard aide d'une requête LINQ. Une requête peut contenir autant de matchingpairs de et les opérateurs que nécessaire pour décrire complètement theData sources utilisées dans la requête.
sélectionnerChoisit les informations de sortie pour la requête. Le simplestoutput est le même objet que vous définissez en utilisant l'opérateur à partir. Toutefois, un opérateur de sélection peut comporter des valeurs calculées, tableaux de données, ou des propriétés des objets individuels. Le limitingfactor dans la plupart des cas est la fonctionnalité offerte par le LINQprovider. Les quatre fournisseurs de défaut comprennent l'completerange de sélectionner les comportements des opérateurs. Aquery ne contient qu'un seul sélectionner operatorand cet opérateur doit apparaître comme le dernier opérateur dans thequery.
Décrit les conditions dans lesquelles un élément apparaît comme partof la sortie. La opérateur alwaysrequires un argument booléenne pour définir les conditions de sortie. Youcan inclure autant de ASNEEDED opérateurs pour décrire complètement les critères de sortie. LINQ interprète le opérateurs dans l'ordre whichthey ​​apparaissent dans la requête, si l'ordre est important. Quand un travail de querydoesn't comme prévu, essayez de changer l'ordre des opérateurs de cas afin de mieux décrire les outputrequirements. Utilisez le débogueur pour aider à localiser les erreurs dans le logicalflow de opérateurs.
commandé parDéfinit l'ordre dans lequel les éléments de sortie apparaissent. Thesimplest commandé par l'opérateur appuie sur theObject vous définissez en utilisant le deopérateur. Cependant, un commandé par operatorcan accepter toute déclaration qui définit un ordre logique argumentas entrée - normalement numérique, alphabétique, un symbole ou binary.You peut utiliser autant commandé par ASNEEDED opérateurs pour décrire complètement l'ordre de sortie des données. Comme dans le cas opérateur, LINQ interprète l'opérateur orderby dans l'ordre dans lequel itappears dans la requête. Par conséquent, l'ordre des opérateurs de OrderBy est important.
joindre et surCombine deux ou plusieurs sources de données pour créer une vue composite DELA données. Les sources de données doivent pas compter sur les mêmes fournisseurs. Utilisation Youcan autant joindre asrequired opérateurs pour décrire complètement l'ensemble des sources de données utilisées pour aquery. La sur opérateur définit thecriterion utilisé pour combiner deux sources de données. Coupler le rejoindre et sur operatorsto créer une source de données complète.
laisserCrée une valeur calculée pour une utilisation dans la requête. Calculatedvalues ​​effectuer des requêtes complexes plus facile à formuler. En outre, youcan passer une valeur calculée sur l'appelant à fournir additionaloutput informations. Dans de nombreux cas, l'opérateur let fournit les moyens pour passingdata que LINQ ne passera pas normalement en raison d'un conflit de noms. Utilisation Youcan autant laisser opérateurs comme requiredto fournissent des fonctionnalités de requête complète, mais vous devez limiter la useof laisser à des situations où un calculatedvalue améliore la vitesse de la requête.

Exploration Groupes opérateur requête standard LINQ

Utilisation des opérateurs de requête standard rend le travail avec Langue Integrated Query (LINQ) considérablement plus facile. À bien des égards, vous avez probablement déjà travaillé avec des opérateurs de requête simples. Par exemple, lorsque vous utilisez la commandé par mot-clé, vous utilisez un opérateur de requête dans le groupe tri des opérateurs de requête standard. Lorsque vous utilisez le mot-clé, vous utilisez un autre opérateur de recherche, mais cette fois il est dans le groupe de filtrage.

Voici une liste des groupes standard de l'opérateur de la requête et où vous pouvez trouver des informations supplémentaires.

GroupeDescription du groupeOpérateurs InclusInformation Supplémentaire
Les opérations d'agrégationLes opérateurs d'agrégation tous vous aident à effectuer mathematicaltasks avec une source de données.Agrégat, Moyenne, Compter, LongCount, Max, Min, et SommeMicrosoftDeveloper Réseau: Agrégation Opérations
Opérations de concaténationLe seul opérateur de concaténation vous permet de combiner twosequences.ConcatMicrosoftDeveloper Réseau: opérations de concaténation
Conversion des types de donnéesConversion des types de données existent sous deux formes: a reporté andnondeferred. Les opérateurs de conversion reportés convertissent le resultsof une requête à un type particulier que le code interprète le jeu de résultats. Les opérateurs de conversion nondeferred changer la sortie de aquery à un type particulier.AsEnumerable, AsQueryable, Cast,OfType, ToArray, ToDictionary, Lister,et Pour rechercherMicrosoftDeveloper Réseau: Conversion des types de données
Élément opérations deLes opérateurs des éléments vous aident à sélectionner un élément particulier dans asequence, même lorsque vous ne savez pas identifier informationabout cet élément, tel que son nom.ElementAt, ElementAtOrDefault, d'abord, FirstOrDefault, Dernier,LastOrDefault, Simple et SingleOrDefaultMicrosoftDeveloper Réseau: Element Operations
Opérations d'égalitéLe seul opérateur d'égalité vous aide à déterminer si twosequences sont égaux (le nombre d'éléments et le contenu de eachelement sont égaux).SequenceEqualMicrosoftDeveloper Réseau: Opérations égalité
Filtrage de donnéesLes opérateurs de filtrage vous aider à exclure ou inclure des éléments séquence INA basée sur des critères spécifiques.OfType et oùMicrosoftDeveloper Réseau: Filtrage des données
Les activités de productionLes opérateurs de production créent une nouvelle séquence sur la base thecriteria vous spécifiez.DefaultIfEmpty, Vide, Gamme, etRépéterMicrosoftDeveloper Réseau: opérations de génération
Regroupement des donnéesLes opérateurs de regroupement vous aider à trier les données par un particularcharacteristic, comme la première lettre d'un groupe ofstrings.Par groupe et ToLookupMicrosoftDeveloper Réseau: Groupement des données
Rejoignez opérationsLes opérateurs d'assemblage acceptent deux ou plusieurs séquences comme une séquence de sortie unique reposant sur un spécifique entrée andcreate type de jointure etla rejoindre critères.Inscrivez-vous et GroupJoinMicrosoftDeveloper Réseau: Rejoignez Opérations
Les données de partitionnementLes opérateurs de partitionnement vous aider section une information spécifique séquence tolocate.Sauter, SkipWhile, Prendre, etTakeWhileMicrosoftDeveloper Réseau: Le partage de données
Opérations de projectionLes opérateurs de projection créent un nouveau type sur la base du queryyou créer.Sélectionner et SelectManyMicrosoftDeveloper Réseau: opérations de projection
Opérations de quantificateursLes opérateurs quantificateurs vous aider à sélectionner des éléments en fonction des critères onspecific. Vous pouvez utiliser ces opérateurs pour déterminer whethernone, un ou plus d'un des éléments rencontrez le selectedcriteria.Tous, Quelconque,et ContientMicrosoftDeveloper Réseau: opérations de quantificateurs
Les opérations SetLes opérateurs fixes créer des ensembles. Pensez à l'ensemble arithmétique youperformed à l'école.Distinct, Sauf, Intersecter,et UnionMicrosoftDeveloper Réseau: opérations de Set
Tri des donnéesLes opérateurs de tri vous aider à mettre une séquence dans un particularorder.Commandé par, OrderByDescending, ThenBy, ThenByDescending, et reverseMicrosoftDeveloper Réseau: tri des données

Microsoft Ressources LINQ




Il est toujours utile de savoir où vous pouvez aller pour obtenir des informations et des outils supplémentaires et des améliorations lors de la création de votre Integrated Query (LINQ) Langue applications. Voici une liste de ressources utiles pour Microsoft LINQ.

Microsoft Developer Network

Microsoft Developer Network (MSDN) a toujours fourni le matériau de base pour tous les produits de développement Microsoft. Vous trouverez toute une entrepôt de l'information là - plus que tout être humain peut probablement lu dans une vie. Par conséquent, vous avez besoin de passer au crible attentivement les informations ou vous deviendrez rapidement perdu dans le labyrinthe MSDN. Le principal site MSDN pour travailler avec LINQ vous fournit avec des nouvelles, des ressources et l'accès à d'autres informations telles que des échantillons.

Blogs Microsoft

Microsoft veut que vous sachiez comment travailler avec LINQ. Dans le passé, vous pouvez trouver une grande partie de l'information dont vous avez besoin sur le site MSDN. Le site MSDN est toujours un bon endroit où aller, mais de nombreux développeurs de Microsoft se plaignait qu'il était un peu trop formel (les articles sont assez difficiles à comprendre dans certains cas) et il n'y avait pas de possibilité d'interagir avec les auteurs. Les blogs de Microsoft offrent un environnement convivial pour obtenir des informations où vous pouvez réellement correspondre avec l'auteur. Voici quelques blogs que vous aurez envie de visiter quand on travaille avec LINQ:

  • Beth Massi: Partage de la bonté qui est Visual Basic (VB)

  • Blog Communauté de Charlie Calvert

  • LE BLOG DE Wriju: .NET et Tout

La plupart de ces blogs sont génériques - ils ont tous de discuter de questions de programmation d'une certaine sorte. Par conséquent, vous trouverez un mélange de sujets dans chaque blog. L'auteur peut discuter du système de fichiers dans un poste et LINQ sur un autre. Chacun a LINQ entrées spécifiques que vous pouvez rechercher en utilisant les fonctions de recherche sur le blog. Bien que Charlie Calvert a quitté Microsoft, son blog contient une mine de renseignements générale LINQ.

Forums Microsoft

Si vous ne pensez pas que vous obtenez assez d'interaction avec Microsoft à travers un blog, les employés de Microsoft fréquentent souvent les forums Microsoft ainsi. Téléchargement d'un message au forum adéquat peut vous rapporter de l'aide professionnelle ou tout au moins un peu d'aide compétent d'un autre membre du forum. La plupart des développeurs comptent sur le forum MSDN pour des questions fondamentales sur LINQ. Vous pouvez voir une liste générale des forums à la Communauté Microsoft. Ne pas oublier d'essayer le forum spécifique au langage pour Visual Basic .NET.