Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Über den Autor
Vorwort zur 4. Auflage
1 Allgemeine Einführung in .NET
2 Grundlagen der Sprache C#
3 Klassendesign und Vererbung
4 Weitere .NET-Datentypen
5 Weitere Möglichkeiten von C#
6 Projektmanagement und Visual Studio 2008
7 Fehlerbehandlung und Debugging
8 LINQ
9 Multithreading und asynchrone Methodenaufrufe
10 Arbeiten mit Dateien und Streams
11 Serialisierung
12 Einige wichtige .NET-Klassen
13 Grundlagen zum Erstellen einer Windows-Anwendung
14 Die wichtigsten Steuerelemente
15 Tastatur- und Mausereignisse
16 MDI-Anwendungen
17 Grafische Programmierung mit GDI+
18 Das Drucken (Printing)
19 Steuerelemente entwickeln
20 Programmiertechniken
21 WPF – die Grundlagen
22 Die Layoutcontainer
23 Die WPF-Controls
24 Konzepte von WPF
25 ADO.NET – die Verbindung zu einer Datenbank herstellen
26 Die Datenbankabfrage
27 Der SqlDataAdapter
28 Daten im lokalen Speicher – das DataSet
29 Eine Datenbank aktualisieren
30 Stark typisierte DataSets
31 Weitergabe von Anwendungen
Stichwort

Download:
- ZIP, ca. 13,6 MB
Buch bestellen
Ihre Meinung?

Spacer
<< zurück
Visual C# 2008 von Andreas Kuehnel
Das umfassende Handbuch
Buch: Visual C# 2008

Visual C# 2008
geb., mit DVD
1.366 S., 49,90 Euro
Galileo Computing
ISBN 978-3-8362-1172-7
Pfeil 8 LINQ
Pfeil 8.1 Was ist LINQ?
Pfeil 8.2 Neue Sprachfeatures in C# 2008
Pfeil 8.2.1 Implizit typisierte Variablen (Typinferenz)
Pfeil 8.2.2 Lambda-Ausdrücke
Pfeil 8.2.3 Erweiterungsmethoden
Pfeil 8.2.4 Anonyme Typen
Pfeil 8.2.5 C# 3.0 und LINQ-Abfragen
Pfeil 8.3 LINQ to Objects
Pfeil 8.3.1 Musterdaten
Pfeil 8.3.2 Die Abfrage-Syntax
Pfeil 8.3.3 Übersicht über die Abfrageoperatoren
Pfeil 8.3.4 Die »from«-Klausel
Pfeil 8.3.5 Der Restriktionsoperator »where«
Pfeil 8.3.6 Die Projektionsoperatoren
Pfeil 8.3.7 Sortieroperatoren
Pfeil 8.3.8 Gruppieren mit »GroupBy«
Pfeil 8.3.9 Verknüpfungen mit »Join«
Pfeil 8.3.10 Die Set-Operatoren-Familie
Pfeil 8.3.11 Die Familie der Aggregatoperatoren
Pfeil 8.3.12 Generierungsoperatoren
Pfeil 8.3.13 Quantifizierungsoperatoren
Pfeil 8.3.14 Aufteilungsoperatoren
Pfeil 8.3.15 Die Elementoperatoren

8 LINQ

LINQ (Language Integrated Query) ist eine Sprachergänzung von .NET, die mit dem .NET Framework und dem Visual Studio 2008 eingeführt worden ist. LINQ ermöglicht es, über ein neues Abstraktionsmodell Daten abzufragen. Dabei spielt es keine Rolle, welcher Natur die Daten sind: Es kann sich um ein XML-Dokument handeln oder um eine Datenbanktabelle, um eine Excel-Tabelle oder auch um eine Auflistung von herkömmlichen Objekten. Diese Liste könnte beliebig fortgesetzt werden.


Galileo Computing - Zum Seitenanfang

8.1 Was ist LINQ? topZur vorigen Überschrift

Stellen Sie sich LINQ als eine Erweiterung vor, die dazu dient, den Zugriff auf Daten zu vereinheitlichen und auch zu vereinfachen. Wegen der unterschiedlichen Datenquellen wurden mehrere LINQ-Implementationen entwickelt, die als Bestandteil des .NET Frameworks als Provider bereitgestellt werden:

  • LINQ to Objects wird durch den Namespace System.Linq zur Verfügung gestellt und bildet das Fundament aller LINQ-Abfragen. Mit LINQ to Objects lassen sich Auflistungen und Objekte manipulieren, die untereinander in Beziehung gesetzt werden können. Dabei beschränkt sich der Einsatz nicht nur auf benutzerdefinierte Daten.
  • LINQ to XML bietet eine Programmierschnittstelle für XML im Arbeitsspeicher, die das in .NET sprachintegrierte Abfrage-Framework nutzt.
  • LINQ to SQL ist Microsofts LINQ-Provider für das hauseigene Datenbanksystem SQL Server 2005 und demnächst auch für SQL Server 2008.
  • LINQ to ADO.NET besteht aus zwei separaten Technologien: LINQ to DataSet und LINQ to SQL. LINQ to DataSet ermöglicht umfangreichere, optimierte Abfragen der Daten aus einem DataSet, und mit LINQ to SQL können Sie SQL Server-Datenbankschemas direkt abfragen.

Jeder dieser Provider verfügt über eigene Klassen, um den spezifischen Bedürfnissen der entsprechenden Datenquelle zu entsprechen. Da LINQ eine offene Architektur ist, kann man davon ausgehen, dass das .NET Framework in Zukunft um weitere Provider ergänzt werden wird.

In diesem Kapitel werden wir uns ausschließlich LINQ to Objects widmen.

Im Folgenden möchte ich Ihnen eine typische LINQ-Abfrage vorstellen, damit Sie einen ungefähren Begriff davon bekommen, was Sie in diesem Kapitel erwartet.

var pers = from p in personen 
           where p.Alter > 30 
           select new { p.Name, p.Alter };

Gleichwertig ist auch die folgende Formulierung:

var pers = personen 
          .Where( p => p.Alter > 30 ) 
          .Select( p => new {p.Name, p.Alter });

Diese Abfrage ruft aus einer Liste die Personen ab, die älter als 30 Jahre sind, und gibt in der Ergebnisliste den Namen und das Alter der gefundenen Personen an. Es spielt keine Rolle, woher die Daten in der Liste personen stammen: Es könnte sich um ein Array von Personen-Objekten handeln oder um ein ADO.NET-DataSet (davon erfahren Sie mehr weiter hinten im Buch). Die Abfragesyntax ist in jedem Fall datenquellenneutral.

Die von LINQ verwendete Syntax wird als Abfrageausdruck bezeichnet. Wir werden hier nicht näher auf den Programmcode eingehen, aber Sie werden feststellen, dass LINQ sich in der Ausdrucksweise anscheinend stark an SQL orientiert. Das ist keine falsche Annahme. Darüber hinaus werden Sie aber auch bemerken, dass die Syntax überhaupt nicht in das Ihnen bisher bekannte Sprachkonzept von Visual C# passt.

Die Einführung von LINQ zwang das .NET-Entwicklerteam dazu, die .NET-Sprachen zu ergänzen. Dazu gehören Lambda-Ausdrücke, Typinferenz, Objektinitialisierer, anonyme Typen und Erweiterungsmethoden. Bevor wir mit LINQ starten, müssen wir diese Themen behandeln.



Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.






<< zurück
  Zum Katalog
Zum Katalog: Visual C# 2008






Visual C# 2008
Jetzt bestellen


 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchtipps
Zum Katalog: Coding for Fun






 Coding for Fun


Zum Katalog: Einstieg in Visual C# 2008






 Einstieg in
 Visual C# 2008


Zum Katalog: Videotraining - Visual C# 2008






 Videotraining -
 Visual C# 2008


Zum Katalog: Fortgeschrittene Programmierung mit Visual C# 2008






 Fortgeschrittene
 Programmierung mit
 Visual C# 2008


Zum Katalog: Windows Presentation Foundation






 Windows Presentation
 Foundation


Zum Katalog: Visual Basic 2008






 Visual Basic 2008


Zum Katalog: Einstieg in XML






 Einstieg in XML


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Galileo Press 2008
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de