Überblick
Eines der Dinge, nach denen ich auf dieser Site viel gefragt habe, ist LINQ . Die Fragen, die ich gestellt habe, waren breit und vielfältig und haben oft nicht viel Kontext. Um das Wissen, das ich in Linq erworben habe, zu konsolidieren, stelle ich diese Frage, um sie zu pflegen und mit zusätzlichen Informationen zu aktualisieren, während ich weiter über LINQ lerne.
Ich hoffe auch, dass es sich als nützliche Ressource für andere Leute erweisen wird, die mehr über LINQ erfahren möchten.
Was ist LINQ?
Von MSDN :
Das LINQ-Projekt ist ein Codename für eine Reihe von Erweiterungen für .NET Framework, die sprachintegrierte Abfrage-, Satz- und Transformationsvorgänge umfassen. Es erweitert C # und Visual Basic um die Muttersprachen-Syntax für Abfragen und bietet Klassenbibliotheken, um diese Funktionen zu nutzen.
Dies bedeutet, dass LINQ eine Standardmethode zum Abfragen einer Vielzahl von Datenquellen mithilfe einer gemeinsamen Syntax bietet.
Welche Aromen von LINQ gibt es?
Derzeit gibt es einige verschiedene LINQ-Anbieter, die von Microsoft bereitgestellt werden:
- Linq to Objects , mit dem Sie Abfragen für jedes IEnumerable-Objekt ausführen können.
- Linq to SQL , mit dem Sie Abfragen für eine Datenbank objektorientiert ausführen können.
- Linq to XML , mit dem Sie XML-Dokumente abfragen, laden, validieren, serialisieren und bearbeiten können.
- Linq to Entities wie von Andrei vorgeschlagen
- Linq zum Datensatz
Es gibt einige andere, von denen viele hier aufgelistet sind .
Was sind die Vorteile?
- Standardisierte Methode zum Abfragen mehrerer Datenquellen
- Kompilieren Sie die Zeitsicherheit von Abfragen
- Optimierte Möglichkeit, satzbasierte Operationen in Speicherobjekten auszuführen
- Möglichkeit zum Debuggen von Abfragen
Was kann ich mit LINQ machen?
Chook bietet eine Möglichkeit, CSV-Dateien auszugeben.
Jeff zeigt, wie Duplikate aus einem Array entfernt werden.
Bob erhält eine eindeutige geordnete Liste aus einem datierbaren
Marxidad zeigt, wie ein Array sortiert wird.
Dana erhält Hilfe beim Implementieren einer Schnellsortierung mit Linq
Wo soll man anfangen?
Eine Zusammenfassung der Links aus GateKillers Frage finden Sie unten :
Scott Guthrie bietet in seinem Blog eine Einführung in Linq.
Ein Überblick über LINQ auf MSDN
ChrisAnnODell schlägt vor, Folgendes zu überprüfen:
Was brauche ich, um LINQ zu verwenden?
Linq ist derzeit in VB.Net 9.0 und C # 3.0 verfügbar. Sie benötigen also Visual Studio 2008 oder höher, um alle Vorteile nutzen zu können. (Sie können Ihren Code jederzeit in den Editor schreiben und mit MSBuild kompilieren.)
Es gibt auch ein Tool namens LinqBridge, mit dem Sie Linq-ähnliche Abfragen in C # 2.0 ausführen können.
Tipps und Tricks mit LINQ
Diese Frage hat einige knifflige Möglichkeiten, LINQ zu verwenden
Antworten:
LINQ zu Entitäten:
Ich habe noch viel mehr auf Delicious.com getaggt .
quelle
Erwähnen Sie LINQ für Entitäten, da ADO.NET Entity Framework ein wichtiges .NET-Modul sein wird.
quelle
Holen Sie sich das Buch Linq in Aktion Es ist eine einfache Lektüre für ein Codierungsbuch und zeigt Ihnen wirklich, wie Sie Linq und die neuen Funktionen von .NET 3.5 verwenden, einige der coolen Teile, die sie für die Sprache hinzugefügt haben.
quelle
Einige LINQ-Tipps:
http://www.aspnetpro.com/articles/2009/04/asp200904zh_f/asp200904zh_f.asp
quelle
Meiner Meinung nach ist ein übersehener, aber wichtiger Vorteil die Codierungseffizienz von LINQ, z. B. wie viel mit so wenig Code erreicht werden kann. Ich persönlich finde die Abfragesyntax leicht zu lesen und zu verstehen.
quelle
Einige Einschränkungen bei der Verwendung von LINQ to SQL :
Hat Microsoft LINQ to SQL wirklich getötet?
Ist LINQ zu SQL DOA?
Es gibt auch einige Kontroversen über die erste Version von Entity Framework , einschließlich einer Petition .
quelle
Ich denke, die Antwort auf "Welche Aromen von LINQ gibt es?" ist unvollständig. Zunächst können Sie Ihren eigenen "Geschmack" kreieren. Ja, es ist eine fortgeschrittene Aufgabe, aber es gibt jetzt viele verschiedene LINQ-Implementierungen.
Hier ist die Liste der vorhandenen LINQ-Anbieter (plus einige weitere Ressourcen zum Erlernen von LINQ) auf Charlie Calverts Blog: Links zu LINQ .
Außerdem gibt es eine hervorragende Reihe von Blog-Posts von Matt Warren zum Erstellen eines eigenen LINQ-Anbieters: LINQ: Erstellen einer IQueryable-Anbieterserie
quelle
Meine 2 Cent, Lesen Sie die Kapitel "11 Abfrageausdrücke und LINQ zu Objekten" und "12 LINQ über Sammlungen hinaus" im Buch "C # in Depth", um zu verstehen, wie LINQ funktioniert.
quelle
Für die Linq-Praxis
Wenn Sie etwas Übung auf LINQ mit Übungen und Antworten wünschen, die wirklich einfach einzurichten und meiner Meinung nach fantastisch sind:
https://github.com/walkhard/linq-exercises
Von git herunterladen und in Visual Studio öffnen. Ihre Aufgabe ist es, die Tests zu bestehen.
[Offenlegung: Ich habe etwas Linq daraus gelernt und ich trage zum Projekt bei, also denke ich, dass es eine großartige, schnelle und effiziente Art zu lernen ist.]
quelle