Sprachintegrierte Abfrage (linq)

Definition - Was bedeutet Language Integrated Query (LINQ)?

Language Integrated Query (LINQ) ist ein Microsoft .NET Framework-Programmiermodell, das den .NET-Programmiersprachen Abfragefunktionen hinzufügt. Diese Erweiterungen bieten eine kürzere und aussagekräftigere Syntax zum Bearbeiten von Daten. C # und Visual Basic wurden eine Reihe von Funktionen hinzugefügt, um LINQ zu unterstützen. Es umfasst leistungsstarke Abfragen von Objekten, XML-Dateien und Datenbanken.

LINQ kapselt schwere Generika. Zu den Unterscheidungsmerkmalen gehören Erweiterungsmethoden, Lambda-Ausdrücke, ein Objektinitialisierer, Abfragesyntax und anonyme Typen. Dies sind Spracherweiterungen zur Verbesserung der syntaktischen Leistung von Abfragen.

Technische.me erklärt Language Integrated Query (LINQ)

Erweiterungsmethoden erweitern vorhandene Werte, ohne einen neuen Typ abzuleiten. Lambda-Ausdrücke erstellen Ausdrucksbäume und Delegaten, während der Objektinitialisierer eine Objektinitialisierungssyntax erstellt, die einen äquivalenten Code generiert.

Eine Sprache kann ihre eigene Abfragesyntax verwenden, die in LINQ-Methodenaufrufe übersetzt werden muss. Anonyme Typen ermöglichen es dem Compiler, Klassen zu kompilieren, die Datenelementdeklarationen enthalten.

LINQ unterstützt eine Reihe von LINQ-Anbietern wie folgt:

  • LINQ to XML: Konvertiert XML-Dokumente in eine Gruppe von XElement-Objekten. Diese Objekte werden dann von der lokalen Ausführungs-Engine abgefragt, die Teil des Standard-Abfrageoperators ist.
  • LINQ to SQL: Ermöglicht die Verwendung von LINQ zum Abfragen von SQL Server-Datenbanken. Da sich SQL Server-Daten in einer entfernten Datenbank befinden und eine eigene Abfrage-Engine verwenden, konvertiert dieser Anbieter zuerst eine LINQ-Abfrage in eine SQL-Abfrage und sendet sie zur Verarbeitung an den SQL Server.
  • LINQ to DataSets: Aktiviert die Unterstützung für alle generischen Datenbanken. Dieser Anbieter verwendet ADO.net, das die Kommunikation mit der Datenbank übernimmt.
  • LINQ to Objects: Verwendet die lokale Abfrageausführungsengine für speicherinterne Sammlungen. Der generierte Code aktualisiert die Implementierung der Standardabfrageoperatoren.