Skip to main content

Was ist eine integrierte Sprachabfrage?

Language Integrated Query (LINQ) bietet die Möglichkeit, die deklarative Abfrage -Syntax nahtlos in zwingende Sprachen, hauptsächlich C# und VB.NET, zu integrieren.Die Entwicklung von Linq löste die Probleme, die Entwickler in objektorientierten Umgebungen bei der Ausführung von Abfragen aufzuteilen.Es wurde im Rahmen des Microsoft .NET Framework Version 3.5 im November 2007 und in Visual Studio Codename Orcas.

Vor der Erstellung einer integrierten Abfrage .NET -Sprachen hatten keine native Möglichkeit, relationale Datenbanken oder XML -Dokumente abzufragen.Entwickler, die in diesen Sprachen schreiben, mussten SQL bzw. XQuery als Zeichenfolgen einbetten und die resultierenden Daten manuell an .NET -Objekte zuordnen.Eingebettete Abfragebräge und Zuordnungen konnten von .NET-Compilern nicht validiert werden, sodass potenzielle Fehler zur Laufzeit entdeckt werden konnten.

Ein weiteres Problem, mit dem Entwickler vor der Sprachintegrierte Abfrage konfrontiert waren, war, dass .NET-Sprachen nur Einwände-orientiertes Syntax an Abfragungskollektionen von hatten.Netzobjekte.Normalerweise würde der Entwickler eine ganze Quellsammlung durchführen und neue Ergebnissammlungen basierend auf Suchkriterien aufbauen.Der Entwickler könnte auch die Daten transformieren, während die Ergebnissammlungen erstellt werden.Dieser Ansatz war umständlich;Eine einfache ausgewählte Abfrage, die in C# oder VB geschrieben wurdelinq erstellen.LINQ bietet eine Abfragesyntax, die an SQL erinnert, die in der Leitung mit C# oder VB verwendet werden soll, das mit statischer Typprüfung komplett ist.Bei Abfragen von .NET -Sammlungen können Entwickler anstatt verschachtelte Schleifen zu verwenden, sondern verwenden die LINQ -Syntax, um Elemente auszuwählen und Daten zu transformieren.Dies führt unter anderem zu weniger Codezeilen im Vergleich zu rein objektorientierter Syntax.

Beim Zugriff auf externe Datenquellen entfernen LINQ und unterstützende Komponenten die Notwendigkeit eingebetteter Abfragesprachen und Datenzuordnungen in einer .NET -Sprache selbst.Um die Datenzuordnung durchzuführen, ist LINQ auf Komponenten angewiesen, die als Linq -Anbieter bezeichnet werden.Linq-to-Objects ist der Aktienanbieter, mit dem LINQ auf .NET-Sammlungen zugreifen kann.In ähnlicher Weise gibt es Anbieter, die auf relationale Datenbanken und XML -Dokumente zugreifen.Die meisten dieser Anbieter sind Komponenten von Drittanbietern, die nicht im .NET-Framework enthalten sind.Unabhängig vom verwendeten Anbieter verwenden alle Abfragen dieselbe LINQ -Syntax.

zwischen der integrierten Abfrage -Syntax von Sprachabfragen und den Anbietern ist eine Bibliothek von Abfragebetreibern, die dem .NET -Framework als Teil der LINQ -Einrichtungen hinzugefügt wurden.Diese Operatoren führen solche Aufgaben wie Filterung, Bestellung, festgelegte Theorieoperationen und Aggregation aus.Da diese Operatoren Teil des .NET -Frameworks sind, können sie auch ohne LINQ verwendet werden, wenn der Entwickler dies wählt.