Wenn Sie mit vielen Datenquellen in Ihre Visual Studio -Programmen arbeiten , dann müssen Sie über die Vorteile von Language-Integrated Query lernen . LINQ wurde in Visual Studio 2008 eingeführt, um dem Programmierer jetzt einen neuen Weg zur Abfrage von Daten aus unterschiedlichen Datenquellen . LINQ bietet leistungsstarke Funktionen zur Abfrage von C # und Visual Basic. LINQ bietet eine Reihe von Funktionen, die nicht nur ermöglichen es Ihnen, aus relationalen Datenbanken wie SQL Server , sondern auch von Objekten im Arbeitsspeicher oder Dateien abzufragen. History
Abfragen werden für Programmierer als einfache Zeichenfolgen in Computerprogramme definiert, um Daten aus unterschiedlichen Datenquellen abrufen bekannt. Ein Problem bei diesem traditionellen Ansatz ist, dass diese Strings nicht während der Kompilierung überprüft Typ und Sie können Fehler übersehen. Ein Vorteil bei LINQ ist, dass man diese Fehler während der Kompilierung zu erfassen , ohne zu warten, bis das Programm ausgeführt wird . Darüber hinaus mit LINQ Sie müssen nicht verschiedene Anfragesprachen für jede Datenquelle zu lernen.
Abfragen von Daten
Ein großer Vorteil ist, dass in LINQ eine Datenquelle kann alles aus einem String , Datei -, Datenbank- Arrays oder anderen Datenquellen werden . Der erste Teil einer LINQ-Abfrage ist die Datenquelle . Sobald Sie die Daten geladen in einen queryable Variable , dann können Sie mit LINQ to es abzufragen. Der zweite Teil ist die Abfrage, die die Informationen aus der Datenquelle abgerufen werden sollen . Ein weiterer Vorteil gegenüber dem traditionellen Ansatz Abfrage ist Abfrageausführungsplan einer LINQ-Abfrage . Die Ausführung der Abfrage wird verwendet, um die Abfragevariable mit einem " foreach "-Anweisung in C # zu durchlaufen. Diese Schleife wird verwendet, um die Ergebnisse der Abfrage abzurufen .
Abfrageoperationen
Abfrage Operationen sind viel einfacher, in LINQ über den traditionellen Datenbank-Abfragen ausführen, indem in der Lage, Tabelle Feldnamen problemlos zugreifen. Filtering wird verwendet, um Daten zu filtern und ist einer der häufigsten Operationen in einer LINQ-Abfrage durchgeführt . Das Folgende ist ein Beispiel für eine LINQ -Abfrage mit Filtern in C # :
var queryLondonCustomers = von cust in customerswhere cust.City == " London " select cust ;
Datenquellen
Die Möglichkeit, unterschiedliche Datenquellen abfragen ist ein großer Vorteil in LINQ . LINQ to SQL wird verwendet, um Objekte relationalen Daten abzufragen. Das Folgende ist ein Beispiel, wie man eine Datenbank mit LINQ to SQL-Abfrage :
Northwnd db = new Northwnd ( @ "c: \\ northwnd.mdf "); IQueryable custQuery = von cust in db . Customerswhere cust.City == " London " select cust ;
Mit LINQ to XML , wenn Sie ein XML-Objekt abfragen müssen . Der folgende C #-Code zeigt ein weiteres Beispiel , wie einfach es ist, ein XML-Dokument abfragen :
XDocument srcTree = new XDocument (neu XComment ( "Dies ist ein Kommentar" ), neue XElement ( " Root" , neue XElement ( " Child1 ", " data1 " ), neue XElement ( " Child2 ", " data2 " ), neue XElement ( " Child3 ", " data3 " ), neue XElement ( " Child2 " " data4 " ), neue XElement ( " Info5 ", " info5 " ), neue XElement ( " Info6 ", " Info6 " ), neue XElement ( " Info7 ", " Info7 " ), neue XElement ( " Info8 ", " info8 "))) ;
XDocument doc = new XDocument (neu XComment ( "Dies ist ein Kommentar" ), neue XElement ( " Root" , von el in srcTree . Element ( " Root" ) Elements ( ) wo ( (string) el) StartsWith ( "data" ) wählen el) ); . . Console.WriteLine ( doc) ;