Erklärung des Begriffs: Language Integrated Query (LINQ)
Was ist Language Integrated Query (LINQ)?

Zurück zur Stichwortliste



Begriff Language Integrated Query
Abkürzung LINQ
Synonyme/Aliase

Erläuterung des Begriffs Language Integrated Query

Language Integrated Query (LINQ) ist eine allgemeine Such-/Abfragesprache, die seit dem .NET Framework 3.5 in der Sprachsyntax von C# 3.0 und Visual Basic 9.0 verankert ist. Microsoft bietet in .NET 3.5 die Möglichkeit zur Abfrage von .NET-Objektmengen (LINQ to Objects), relationalen Datenbanken (LINQ-to-SQL und LINQ-to-Entities), DataSets (LINQ-to-DataSet) und XML-Daten (LINQ-to-XML). In anderen Microsoft Projekten gibt es zusätzlich noch LINQ-Unterstützung für XSD und ADO.NET Data Services. Andere Entwickler bieten zwischen LINQ-Unterstützung für viele andere Anwendungsfälle an.

Bewertung



LINQ versteht sich als Vereinheitlichung unterschiedlichster Abfragesprachen wie z.B. SQL, Xpath, Xquery, etc. Der große Vorteil von LINQ ist, dass die Sprachkompiler die Syntax prüfen können und die Entwicklungsumgebung IntelliSense-Unterstützung anbieten kann. Dies ist mit "externen" Suchsprachen, die der Compiler nur als Zeichenkette sieht, nicht möglich.

Geschichte


Angekündigt: 13.9.2005 (PDC 2005)
Alpha-Version verfügbar ab: 13.9.2005
Beta1-Version verfügbar ab: 19.5.2007
Erscheinungstermin: 19.11.2007

LINQ-Provider in .NET 3.5


LINQ unterteilt sich in die Gebiete:
LINQ to DataSet
LINQ to SQL (früher: Dlinq) --> Objekt-Relationales Mapping
LINQ to XML (früher: Xlinq)
LINQ to Objects

LINQ-Provider in den .NET 3.5 Extensions


LINQ to Entities --> ADO.NET Entity Framework
LINQ to ADO.NET Data Service

Andere Anbieter/Projekte


Die folgende Liste zeigt Links zu weiteren LINQ-Providern:

- LINQ to XSD
http://blogs.msdn.com/xmlteam/archive/2007/06/05/linq-to-xsd-preview-alpha-0-2-to-go-with-orcas-beta-1.aspx
- LINQ to ADO.NET Data Service
http://quickstarts.asp.net/3-5-extensions/adonetdataservice/NETClientLibrary.aspx
- LINQ to ADS
http://www.codeplex.com/LINQtoAD
- LINQ to LDAP
http://www.hookedonlinq.com/LINQ2LDAP.ashx
- LINQ to VOA (kommerziell)
http://www.vanatec.com/en/product-information/linq2sql
- LINQ to Genome (kommerziell)
http://www.genom-e.com/Default.aspx?tabid=227
- LINQ to Nhibernate
http://www.hookedonlinq.com/LINQToNHibernate.ashx
- LINQ to Amazon
http://weblogs.asp.net/fmarguerie/archive/2006/06/26/Introducing-Linq-to-Amazon.aspx
- LINQ to FlickR
http://spellcoder.com/blogs/bashmohandes/archive/2007/04/08/6552.aspx
- LINQ to MySql, Oracle and PostgreSQL
http://code2code.net/DB_Linq/
- LINQ to Java
http://xircles.codehaus.org/projects/quaere


Beispiel: LINQ to Objects (C#)


var x =
from p in System.Diagnostics.Process.GetProcesses()
where p.WorkingSet64 < 500000
select new { p.ProcessName, p.WorkingSet64 };


Beispiel: LINQ to SQL (C#)


var x =
(from c in db.FL_Flueges where c.FL_Abflugort == "London" orderby c.FL_Zielort select c) .Skip(5) .Take(5);

Querverweise zu anderen Begriffen im Lexikon

Objekt-Relationales Mapping
ADO.NET Entity Framework
ADO.NET Data Services
Entwicklungsumgebung
System.Diagnostics
.NET Framework 3.5
Visual Basic 9.0
LINQ-to-Entities
LINQ to ADO.NET
IntelliSense
LINQ-to-SQL
Objektmenge
Datenbank
.NET 3.5
Codeplex
DataSet
Orcas
Java
My


Bücher zu diesem Thema:
Alle Bücher