LINQ für Dummies

Language Integrated Query (LINQ) verwendet eine erstaunliche Reihe von Betreibern. Ein Operator

ist ein besonderes Wort, das gleich sind LINQ, welche Art von Abfrage durchzuführen, wie etwa die Überprüfung, ob zwei Werte teilt. Der Bediener kann in die Hunderte laufen, aber in den meisten Fällen werden Sie die meisten Aufgaben nur ein paar Standard-Operatoren durchführen. Im Folgenden finden Sie eine Liste der wesentlichen LINQ-Operatoren.

OperatorBeschreibung
vonDefiniert das temporäre Objekt verwendet, um eine Abfrage durchführen. Denken Sie ofthis Operator als Definition des Einzelelement-Objekt aus whichyou alle anderen Daten für die Abfrage abzuleiten. Zum Beispiel ChooseWhat Sie Daten in der Ausgabe angezeigt wird und wie diese Daten auf der temporären Variablen orderedbased. Das vonBetreiber ist die einzige, die in jeder Abfrage youcreate erscheinen.
imLegt die Datenquelle verwendet, um die Daten zu erhalten. Ein Daten sourcecan jedes Objekt von einem Datenprovider unterstützt werden. Die providercreates eine Verbindung zwischen der Datenquelle und dem LINQ query.For beispielsweise eine Datenquelle, die ein Objekt wie ein listbox umfassen kann, eine XML-Datei, einer SQL Server-Tabelle, Active Directory, einem Webservice oder gerade über alles, was Sie wollen zu verwenden, um collectinformation. Es ist sogar möglich, direkt mit Dateien auf yourhard Laufwerk mit einer LINQ-Abfrage zu arbeiten. Eine Abfrage kann enthalten so viele matchingpairs von von und Operatoren wie nötig, um theData Quellen in der Abfrage verwendet beschreiben.
wählenWählt die Ausgangsinformationen für die Abfrage. Die simplestoutput ist das gleiche Objekt, das Sie vom Operator über die Schaltfläche definieren. Allerdings kann ein Operator wählen berechneten Werte, Arrays von Daten enthalten, oder einzelne Objekteigenschaften. Die limitingfactor in den meisten Fällen ist die Funktionalität durch die LINQprovider angeboten. Alle vier der Standardanbieter gehören die completerange von wählen Betreiber Verhaltensweisen. Aquery enthält nur eine wählen operatorand dieser Operator muss als der letzte Operator in thequery erscheinen.
woherBeschreibt die Bedingungen, unter denen ein Element als partof die Ausgabe erscheint. Das woher Operator alwaysrequires eine Boolesche Argument die Ausgabebedingungen zu definieren. Youcan umfassen so viele woher Betreiber asneeded die Ausgabekriterien vollständig zu beschreiben. LINQ interpretiertwoher in der Reihenfolge Operatoren in whichthey ​​erscheinen in der Abfrage, so wichtig ist, um. Wenn ein querydoesn't wie erwartet funktioniert, versuchen Sie die Reihenfolge der dem Betreiber zu ändern, um besser die outputrequirements beschreiben. Verwenden Sie den Debugger finden, um Fehler in der logicalflow von woher Betreiber.
Sortieren nachDefiniert die Reihenfolge, in der die Ausgangselemente erscheinen. Das einfachste Sortieren nach Betreiber setzt auf theObject Sie definieren mit der vonOperator. Jedoch ein Sortieren nach operatorcan jede Aussage akzeptieren, die eine logische Reihenfolge argumentas Eingang definiert - in der Regel numerisch, alphabetisch, ein Symbol oder binary.You können so viele verwenden Sortieren nach Operatoren asneeded die Ausgabereihenfolge der Daten vollständig zu beschreiben. Wie bei derwoher Operator, LINQ interpretiert den orderby Operator in der Reihenfolge, in der in der Abfrage itappears. Folglich ist die Reihenfolge der orderby Betreiber wichtig.
beitreten undKombiniert zwei oder mehrere Datenquellen eine zusammengesetzte Ansicht OFTHE Daten zu erstellen. Die Datenquellen brauchen nicht auf dem gleichen Anbieter verlassen. Youcan Verwendung als viele beitreten Betreiber asrequired vollständig alle der Datenquellen für aquery verwendet beschreiben. Das auf Operator definiert thecriterion verwendet zwei Datenquellen zu kombinieren. Koppeln Sie die Verbindung und auf operatorsto schaffen eine komplette Datenquelle.
LassenErstellt einen berechneten Wert für die Verwendung in der Abfrage. Calculatedvalues ​​machen komplexe Abfragen einfacher zu formulieren. Darüber hinaus passieren YouCan einen berechneten Wert auf den Anrufer additionaloutput Informationen zur Verfügung zu stellen. In vielen Fällen stellt der let Betreiber die Mittel für passingdata, dass LINQ wird normalerweise nicht aufgrund eines Namenskonflikt bestehen. Youcan Verwendung als viele Lassen Operatoren als requiredto vollständige Abfragefunktionalität bieten, aber Sie sollten die useof begrenzen Lassen Situationen, in denen ein calculatedvalue verbessert Abfragegeschwindigkeit.

Explo LINQ Standard Query Operator Gruppen

Standardabfrageoperatoren Mit Hilfe macht mit Language Integrated Query (LINQ) wesentlich einfacher zu arbeiten. In vielerlei Hinsicht haben Sie wahrscheinlich schon mit einfachen Abfrageoperatoren gearbeitet. Zum Beispiel, wenn Sie die Sortieren nach Stichwort, verwenden Sie eine Abfrage-Operator in der Sortiergruppe von Standardabfrageoperatoren. Wenn Sie die woher Stichwort, verwenden Sie eine andere Abfrage-Operator, aber dieses Mal ist es in der Filtergruppe.

Hier ist eine Liste von Standardabfrageoperator Gruppen und wo Sie weitere Informationen finden können.

GruppeGruppenbeschreibungInbegriffen Betreiberzusätzliche Information
AggregationsoperationenDie Aggregation Betreiber alle helfen Ihnen mathematicaltasks mit einer Datenquelle durchführen.Aggregat, Durchschnittlich, Graf, Longcount, Max, Min und SummeMicrosoftDeveloper Netzwerk: Aggregation Operationen
VerkettungsoperationenDer einzige Verkettungsoperator können Sie twosequences kombinieren.concatMicrosoftDeveloper Netzwerk: Verkettungs Operationen
Konvertieren von DatentypenKonvertieren von Datentypen kommen in zwei Formen: Latente andnondeferred. Die latenten Umwandlung Operatoren die resultsof eine Abfrage auf einen bestimmten Typ konvertieren, wie der Code die resultset interpretiert. Die nondeferred Umwandlung Operatoren ändern, um die Ausgabe von aquery auf einen bestimmten Typ.AsEnumerable, AsQueryable, Besetzung,OfType, ToArray, ToDictionary, Auflisten,und NachschlagenMicrosoftDeveloper Netzwerk: Konvertieren von Datentypen
Element OperationenDie Element Betreiber helfen Sie ein bestimmtes Element in asequence auswählen, auch wenn Sie nicht wissen, jede Information identifiziert wird dieses Element, wie sein Name.ElementAt, ElementAtOrDefault, First, FirstOrDefault, Letzte,LastOrDefault, Single, und SingleOrDefaultMicrosoftDeveloper Netzwerk: Operationen mit den Elementen
GleichheitsoperationenDer einzige Gleichheits-Operator hilft Ihnen festzustellen, ob twosequences gleich sind (die Anzahl der Elemente und der Gehalt an eachelement gleich sind).SequenceEqualMicrosoftDeveloper Netzwerk: Gleichheit Operationen
Filtern von DatenDie Filter Operatoren helfen Ihnen Elemente ina Sequenz auf Grundlage bestimmter Kriterien ausschließen oder einschließen.OfType und woMicrosoftDeveloper Netzwerk: Filtern von Daten
Generation OperationenDie Generation Betreiber schaffen eine neue Sequenz basiert auf thecriteria Sie angeben.DefaultIfEmpty, Leer, Angebot, undWiederholenMicrosoftDeveloper Netzwerk: Generation Operationen
Gruppieren von DatenDie Gruppierung Betreiber helfen Sie Daten sortieren, indem Sie einen particularcharacteristic, wie die ersten Buchstaben in einer Gruppe ofstrings.Gruppiere nach und ToLookupMicrosoftDeveloper Netzwerk: Gruppieren von Daten
Join-OperationenDie Verbindungs ​​Betreiber akzeptieren zwei oder mehrere Sequenzen als Eingabe andcreate einer einzigen Ausgangsfolge basierend auf einer spezifischen Join-Typ undder Kriterien beitreten.Beitreten und GroupJoinMicrosoftDeveloper Netzwerk: Join-Operationen
Partitioning DatenDie Partitionierung Operatoren helfen Ihnen Abschnitt eine Sequenz tolocate spezifische Informationen.Überspringen, Skipwhile, Nehmen, undTakewhileMicrosoftDeveloper Netzwerk: Partitionieren von Daten
ProjektionsbetriebDie Projektionsoperatoren einen neuen Typ erstellen, die auf der Basis queryyou erstellen.Wählen und SelectMicrosoftDeveloper Netzwerk: Projektionsbetrieb
Quantifizierer OperationenDie quantifier Betreiber helfen Sie Elemente auswählen, basierend onspecific Kriterien. Sie verwenden diese Operatoren whethernone, um zu bestimmen, ein oder mehrere Elemente erfüllen die selectedcriteria.Alle, Irgendein,und EnthältMicrosoftDeveloper Netzwerk: Quantifizierer Operationen
Set-VorgängeDie Set-Operatoren erstellen Sets. Denken Sie an die Set-Arithmetik in der Schule youperformed.deutlich, Außer, Schneiden,und UnionMicrosoftDeveloper Netzwerk: Set-Vorgänge
Sortieren von DatenDie Sortier Betreiber helfen, eine Sequenz in eine particularorder setzen.Sortieren nach, OrderByDescending, ThenBy, ThenByDescending und umgeMicrosoftDeveloper Netzwerk: Sortieren von Daten

Microsoft LINQ-Ressourcen

Es ist immer hilfreich zu wissen, wo Sie sich für weitere Informationen und Tools und Erweiterungen gehen können, wenn Ihre Language Integrated Query (LINQ) Anwendungen. Hier ist eine Liste von hilfreichen Ressourcen von Microsoft für LINQ.

Microsoft Developer Network

Das Microsoft Developer Network (MSDN) hat immer das Basismaterial für alle Microsoft-Entwicklungsprodukte zur Verfügung gestellt. Sie werden eine ganze Lager von Informationen finden dort - mehr als jeder Mensch kann wohl im Leben lesen. Folglich müssen Sie die Informationen sorgfältig zu sichten oder werden Sie schnell in der MSDN-Labyrinth verirrt. Das Haupt MSDN-Website für die Arbeit mit LINQ liefert Ihnen Nachrichten, Ressourcen und den Zugang zu anderen Informationen wie Proben.

Microsoft-Blogs

Microsoft möchte, dass Sie wissen, wie mit LINQ zu arbeiten. In der Vergangenheit haben Sie viele Informationen finden Sie auf MSDN. Die MSDN-Website ist immer noch ein guter Ort, um zu gehen, aber viele Microsoft-Entwickler darüber beschwert, dass es ein wenig zu formell war (die Artikel sind ziemlich schwierig, in manchen Fällen zu verstehen) und es gab keine Möglichkeit, mit den Autoren zu interagieren. Das Microsoft-Blogs bieten eine freundlichere Umgebung für die Beschaffung von Informationen, wo man tatsächlich mit dem Autor entsprechen kann. Hier sind ein paar Blogs, die Sie wollen, werde zu besuchen, wenn sie mit LINQ arbeiten:

Die meisten dieser Blogs sind generisch - sie alle Fragen zur Programmierung von irgendeiner Art zu diskutieren. Folglich finden Sie eine Mischung aus Themen in jedem Blog. Der Autor kann das Dateisystem in einer Post und LINQ auf einem anderen diskutieren. Jeder hat LINQ spezifische Einträge, die Sie für die Nutzung der Suchfunktionen auf dem Blog zu suchen. Obwohl Charlie Calvert Microsoft verlassen hat, enthält in seinem Blog eine Fülle von allgemeinen Informationen LINQ.

Microsoft-Foren

Wenn Sie nicht denken, dass Sie genug Interaktion mit Microsoft durch einen Blog, wenn es darum, Microsoft-Mitarbeiter häufig oft die Microsoft-Foren auch. eine Nachricht an das richtige Forum Upload können Sie einige professionelle Hilfe oder zumindest einige sachkundige Hilfe aus einem anderen Forum Mitglied Netz. Die meisten Entwickler verlassen sich auf die MSDN-Forum für grundlegende Fragen über LINQ. Sie können eine Auflistung von Foren auf die sehen Microsoft Gemeinschaft. Vergessen Sie nicht, die sprachspezifische Forum zu versuchen, für Visual Basic .NET.

Menü