LINQ (.NET Language Integrated Query) muss noch einige Hürden überwinden, bevor man es ernsthaft verwenden kann. Dennoch bietet LINQ einige interessante Vorteile, und SQL-Entwickler sowie Datenbank-Administratoren sollten sich auf jeden Fall mit dieser neuen Technologie und ihren Versprechungen befassen.
Vorteile von LINQ
Der bezeichnendste Vorteil von LINQ ist die standardisierte Möglichkeit, nicht nur Tabellen in einer relationalen Datenbank abzufragen, sondern auch Textdateien, XML-Dateien und andere Datenquellen, die eine identische Syntax verwenden. Ein zweiter Vorteil ist die Fähigkeit, diese standardisierte Methode von jeder .NET-konformen Sprache wie zum Beispiel C# oder VB.NET aus verwenden zu können.
LINQ in Aktion
Der folgende Code-Schnipsel (in C#) zeigt ein einfaches Stück LINQ-Code, das die Northwind-Datenbank als Ziel benutzt. Um LINQ bei der Arbeit zu sehen, hier zunächst ein einfaches C#-3.0-Programm, das die Standard-Query-Operatoren verwendet um den Inhalt eines Arrays zu verarbeiten.
Dieses Programm liefert folgende Ausgabe:
ALPHA BRIAN DAVID FRANK HARRY INIGO
Dieses Beispiel illustriert den Programmierstil von LINQ und die Verlagerung des Codes in Richtung Front-End, der sich eigentlich besser im Back-End befinden sollte (auch wenn man zugeben muss, dass der Code sauber und relativ transparent ist).

Lesermeinungen zum Artikel
Ich kann das Problem des Authors nicht nachvollziehen? BackEnd? FrontEnd? Was soll diese künstlich herbeigeredete Begründung?
Es ist m.E. unerheblich, ob man seine SQLs z.B. via ADO.NET direkt gegen die Datenbank schickt oder ein integriertes Sprachkonstrukt verwendet. Die Prinzipien ändern sich damit nicht!
Kernpunkt ist wie die resultierenden Daten weitergegeben werden. Und da ist natürlich jedem Entwickler, der zumindest eine 3-tier Anwendungen entwickelt hat klar, daß es ohne Probleme möglich ist LINQ in eine 3-tier Umgebung zu integrieren.
Inzwischen gibt es auch einige LINQ erweiterungen z.B. auf codeplex.com welche die Ausführung von LINQ auf Remotemaschinen und deren Parallelisierung ermöglichen. Auch ein nettes Tool - über den Sinn lässt sich streiten.