| LINQ |
| Code-Beispiele: | |||
| ♦ |
101 LINQ Samples |
Operatoren: Einschränkung-[TS], Gruppierung-[TS],
Aggregation-[TS],
Projektion-[TS],
Menge-[TS],
Konvertierung-[TS],
Aufteilung-[TS],
Element-[TS], Verschiedenes-[TS], Benutzer Sequenz,
Sortierung-[TS], Erzeugung-[TS]. Andere: Abfrage Ausführung [1,2,3], Quantifizierer-[TS] [doc: Standard Query Operators] Es gibt im Projekt: LinqSamples/SampleQueries in diesem Download einen "LINQ Project Sample Query Explorer", den Sie (u.a.) zum interaktiven Lernen dieser Operatoren hervorragend benutzen können! |
|
| ♦ |
!Sehr empfehlenswert! Für Details siehe
hier. In der Visual Studio 2008 Hilfe enthalten! |
||
| ♦ |
Freies Microsoft Kit: Der Inhalt ist dafür entworfen,
dem Benutzer das Lernen von Visual Studio 2008 Features mit der Vielfalt Framework-Techniken
zu erleichtern, die folgendes beinhalten: LINQ, C# 3.0, Visual Basic 9, WCF, WF,
WPF, ASP.NET AJAX, VSTO, CardSpace, SilverLight, Mobile und Application Lifecycle
Management."
LINQ-spezifische Dokumente, Demos und LABs nach lokaler Installation u.a. : Using LINQ to SQL (Lab Manual), Building Web Applications with Visual Studio 2008 (Lab Manual) Developing Dynamic, Data-Driven Web Sites (Lab Manual) ... und viele weitere. (Demos als Code enthalten) |
||
| ♦ |
Achtung, hier ist LINQ nur
sehr am Rande überhaupt ein Thema! Es geht hauptsächlich um VS-Erweiterbarkeit. |
||
|
MSDN-Artikel/Webseiten: |
|||
| ♦ |
C# 3.0: Die Entwicklung von LINQ und ihre Auswirkung auf das Design von C# |
[MSDN Magazine, June 2007]: C# und LINQ, Die Entwicklung von LINQ, SQL-Abfragevorgang
von Code |
|
| ♦ |
Englische Haupt-Projektseite, in der weitere Links zu wichtigen Artikeln zu finden
sind. |
||
| ♦ |
Im .NET Framework 3.5 wurden Allzweck-Abfragekonstrukte zugefügt, die für vielerlei
Arten von Informations-Quellen anwendbar sind, nicht nur relationale oder XML Daten.
Diese werden .NET Language-Integrated Query (LINQ) genannt. (32 gedruckte Seiten,
Englisch) |
||
| ♦ |
LINQ to SQL: .NET Language-Integrated Query for Relational Data |
LINQ to SQL stellt eine Laufzeit-Infrastruktur zur Behandlung von relationalen Datenobjekten
zur Verfügung, ohne die Fähigkeit der Abfrage zu verlieren. Ihre Applikation kann
die Objekte frei modifizieren und LINQ to SQL steht im Hintergrund und verfolgt
die Änderungen automatisch. (119 gedruckte Seiten, Englisch) (siehe auch:
C#
LINQ to SQL Hands on Lab) |
|
| ♦ | Parallel LINQ: Ausführen von Abfragen auf Mehrkernprozessoren | Das Verwenden von Technologien wie PLINQ wird immer wichtiger werden, um die Skalierbarkeit der Software auf künftigen parallelen Mikroprozessorarchitekturen sicherzustellen. (siehe auch die Webcasts zu Parallel Linq, Download der Jun08CTP, Parallel Computing Developer Center, Optimieren von verwaltetem Code für Mehrkerncomputer, Ausführen von Abfragen auf Mehrkernprozessoren, Paralleles Computing mit der Managed-Code-Library ParallelFX | dotnetpro) | |
| ♦ | |||
| ♦ |
Der "Objekt-relationale Designer" (O/R Designer) stellt eine visuelle Entwurfs-Oberfläche
zur Erzeugung von "LINQ to SQL" Entity Klassen und Assoziationen (relationships)
dar, die auf Objekten in der Datenbank basieren. |
||
| ♦ |
LINQ to XML nutzt die Standard-Abfrage-Operatoren und fügt spezifische XML-Erweitungen
hinzu. Die Beispiele sind hier meistens in C# gezeigt (44 gedruckte Seiten, Englisch) |
||
| ♦ |
[Technische Spezifikation] Die Standard-Abfrage-Operatoren sind eine API, die es
ermöglichen, jedes .NET Array oder Collection abzufragen. Die Standard-Abfrage-Operator-API
besteht aus Methoden, die in der statischen Klasse: "System.Query.Sequence"
im Assembly "System.Query.dll" enthalten sind. (35 gedruckte Seiten, Englisch) |
||
| ♦ | Technischer Überblick über C# 3.0, das viele Sprach-Erweiterungen auf der .NET 2.0 Basis einführt, um die Erzeugung und Nutzung von Klassen und Biblioteken mit höherwertigem, funktionalen Stil zu unterstützen. (38 gedruckte Seiten, Englisch) | ||
| ♦ |
Dieser Artikel beinhaltet grundlegende Hintergrundinformationen, die Ihnen helfen,
die LINQ Dokumentation und Beispiele zu verstehen. |
||
| ♦ |
Grundlegendes über Query Expressions mit einer umfangreichen HowTo-Liste u.a. über
Joins (Left, Inner, Outer, Grouped). |
||
| ♦ |
"Expression trees" (Ausdrucks-Bäume) stellen einen Sprach-Level-Code in Form von
Daten dar. Die Daten sind in einer Baum-artigen Struktur gespeichert. Jeder Knoten
in dem Ausdrucks-Baum stellt wieder einen Ausdruck dar, zum Beispiel einen Methoden-Aufruf,
oder eine Binäroperation wie etwa x < y realisiert.
(Englisch) |
||
| ♦ |
Teil1: "Using the LINQ Dynamic Query Library" - ScottGu's Blog. Scott Guthrie ist
General Manager in Microsofts Developer Devision und (zusammen
mit Charlie Calvert) einer der intensivsten Blogger
bezüglich LINQ. Seine Artikel sind sehr empfehlenswert. |
||
| ♦ |
LINQ-Provider: LINQ to TerraServer, LINQ to Amazon, LINQ to LDAP, LINQ to GoogleDesktop, Linq for NHibernate, LINQ To Flickr, LINQ to SharePoint |
Weitere LINQ-Provider:
LINQ to Active Directory,
LINQ to Bindable Sources
(SyncLINQ),
LINQ over C# project,
LINQ to CRM,
LINQ To Geo (Language Integrated Query for
Geospatial Data),
LINQ to Excel,
LINQ to Expressions
(MetaLinq),
LINQ Extender (Toolkit for building LINQ
Providers),
LINQ to Google,
LINQ to Indexes
(LINQ and i40),
LINQ to IQueryable
(Matt Warren on Providers),
LINQ to JSON,
LINQ
to JavaScript,
LINQ to LLBLGen Pro,
LINQ to Lucene,
LINQ
to Metaweb(freebase),
LINQ to MySQL to Oracle and PostgreSql (DbLinq),
LINQ to NCover,
LINQ to Opf3,
LINQ to Parallel (PLINQ),
LINQ to RDF Files,
LINQ to SimpleDB,
LINQ to Streams,
LINQ to WebQueries,
LINQ to WMI,
LINQ to XtraGrid,
Artikel dazu: [Calling functions in LINQ queries], [LINQ extensions - Simplified keyword search], [Linq provider basics], [Building an IQueryable provider series], [LINQ IQueryable Toolkit - Home] |
|
| ♦ |
Ansprechende u.a. auch grafisch aufbereitete
Einführung in LINQ von
Barnett Granville [MVP]:
Teil1, Teil2, Teil3, Teil4, Teil5. |
||
|
Tools: |
|||
| LINQPad |
Mit LINQPad können Sie interaktiv SQL Queries auf Datenbanken
u.a. in C# durchführen (momentan ohne Intellisense, aber vorbereitet). Unterstützt
C# 3.0 und .NET Framework 3.5 nebst LINQ to SQL, LINQ to Objects und LINQ to XML
[empfehlenswert] |
||
| Visual LINQ Query Builder |
Der "Visual LINQ Query Builder" ist ein Add-In für den
Visual Studio 2008 Designer der Ihnen hilft, visuell unterstützte LINQ to SQL Abfragen
auszuführen. Funktionell stellt er etwa das gleiche zur Verfügung, wie der "Microsoft
Access Query Builder", aber für LINQ. Leider teilweise Probleme im deutschen Visual Studio 2008. |
||
|
Videos/Webcasts: |
|||
| ♦ | LINQ und Konsorten (8 deutsche Webcasts) | Einführung in LINQ, Überblick über die Möglichkeiten der Datenprogrammierung innerhalb von C#, LINQ to SQL, LINQ to XML, LINQ to Entities, bis hin zu ADO.NET Data Services und dem ADO.NET Entity Framework. | |
| ♦ |
!Sehr empfehlenswert!
[Jens Häupel, Level 200, deutsch]: Das .NET Language Integrated Query (LINQ) Framework -
Mit Daten arbeiten - aber wie? ... In diesem Webcast wird LINQ für C# und dessen
innovatives API vorgestellt. |
||
| Parallele Programmierung mit .NET 4.0 | Das .NET Framework 4.0 bringt revolutionär neue Methoden zur Multikern-Programmierung ins Spiel. Sei es die neue 'Parallel Task Library' oder die spektakuläre und dennoch so simple Erweiterung von LINQ: Parallel LINQ. Abgerundet werden die damit eröffneten Möglichkeiten durch passende Erweiterungen innerhalb von Visual Studio, die das Debuggen dieser Anwendungen erheblich vereinfachen. Tom Wendel gibt einen Einblick in die neue "Parallelwelt". | ||
| ♦ |
[Bernd Marquardt, Level 200]: In Visual Studio 2008 wird u.a. eine neue, erweiterte
Version der Programmiersprache C# Einzug halten. Viele Erweiterungen in C# 3.0 haben
mit der Abfrage von Daten zu tun (LINQ). In diesem Webcast stellen wir die eher
allgemeinen Neuerungen in C# vor. |
||
| ♦ |
Charlie Calvert's Community Blog : LINQ to SQL Introductory Video |
Das Video zeigt grundlegende Schritte um "LINQ to SQL" Code für Visual Studio 2008
Beta 1 zu schrieben. Stichworte sind: "LINQ to SQL designer", "DataContext", "ORM-style
entity classes", LINQ foreach loop, Anonymous Types to create a projection, ObjectDumper,
var. (~25 Minuten) |
|
| ♦ | Das offizielle Microsoft ASP.NET Portal |
Hier sind 7 englische ASP.NET fokussierte LINQ-Videos,
die jeweils etwa 10 Minuten lang sind. |
|
| ♦ | Visual Studio 2008 - Die neuen ASP.NET 3.5 Controls |
Visual Studio 2008 bringt für den Web-Entwickler nur
wenig Neues. Einzig drei Steuerelemente zur Datenbindung kommen neu hinzu. Und eins
davon ist die
LinqDatasource. |
|
| ♦ | Visual Studio 2008 und .NET Framework 3.5 |
Dariusz Parys beleuchtet in einem kleinen Teil des Webcasts
Spracherweiterungen in C# nebst Neuerungen bei C++/CLI, LINQ und das ADO.NET Entity
Model neben weiteren 2008 Features. |
|
| ♦ | Parallel-LINQ (Teil 1-3) |
Erweiterungen für C# (und VB.NET), die eine deutliche Vereinfachung der Parallel-Programmierung ermöglichen. Parallel-LINQ ermöglicht nicht nur die Parallelisierung von Schleifen und Code-Blöcken, sondern bietet einfache Varianten an, um Berechnungen asynchron durchzuführen. In drei Webcasts werden verschiedenen Klassen der Parallel-LINQ-Erweiterung vorgestellt und an Beispielen demonstriert. Performance-Verbesserungs-Möglichkeiten von parallelem Code, wenn moderne Multi-Core-Prozessoren zur Verfügung stehen. |
|
|
Bücher: (ohne spezielle Reihenfolge) |
|||
| ♦ | LINQ: Direkte Abfragen mit Language-Integrated Query |
Sprache: Deutsch: Autor: Thorsten Kansy |
|
| ♦ | Microsoft LINQ - Crashkurs |
Sprache: Deutsch, Autoren: Paolo Pialorsi,Marco Russo. |
|
| ♦ | LINQ |
Sprache: Deutsch, Autor: Özgür Aytekin |
|
| ♦ | LINQ im Einsatz |
Spache: Deutsch, Autoren: Fabrice Marguerie,Steve Eichert, Jim Wooley |
|
| ♦ | LINQ Quickly |
Sprache: Englisch, Autor: N. Satheesh Kumar |
|
| ♦ | Introducing Microsoft® LINQ |
Sprache: English, Autoren: Paolo Pialorsi, Marco Russo |
|
| ♦ | Foundations of Linq in C#: Language Integrated Query in C# 2008 |
Sprache: Englisch, Autor: Joseph C. Rattz |
|
| ♦ | Manning: LINQ in Action |
Sprache: Englisch, Autoren: Fabrice Marguerie, Steve Eichert and Jim Wooley |