LINQ , die für Language-Integrated Query steht , ist ein Merkmal der Sprache Visual Basic , die Sie ausführen Abfragen und andere Operationen an Datenquellen ermöglicht . Eine Art der Datenquelle ist XML-Code , dessen benutzerdefinierte Tags können als Datenbank-Felder verwendet werden. Dieses Tutorial ermöglicht es dem Benutzer , eine Abfrage einer einfachen XML-Daten -Tabelle zu tun. Der Benutzer gibt den Titel eines Films , der in einer LINQ-Abfrage formatiert ist. Die Abfrage sucht den Film mit dem passenden Titel und gibt der Regisseur seinen Namen von dem passenden Film. Einrichten des Projekts
Vor der Eingabe des Programms werden Sie brauchen, um ein Projekt in Visual Basic. Wählen Sie File> New Project > Windows Forms-Anwendung . In der Designer-Fenster , setzen Sie ein Textfeld und eine Schaltfläche auf der Benutzer Form . Doppelklicken Sie auf das Button-Steuerelement und fügen Sie diesen Code, um den Körper des Ereignis Button1 :
XLinqQuery ( TextBox1.Text )
Diese Aussage eine Funktion, die LINQ Datenbank-Abfrage funktioniert , wenn der Benutzer ruft die Schaltfläche auf dem Formular . Oberhalb der Button1_Click -Funktion , geben Sie die Funktion :
Public Sub XLinqQuery (ByVal strMovie As String) Dim
myMovies = _ < Film year_released = " 1977 "-Regisseur = " George Lucas " > Star Wars < /Film >
Excalibur < /Film >
Dim query = _From m In myMovies . _Where m.Value = strMovie _Select m
für jedes Ergebnis In queryTextBox2.Text = Ergebnis. @ directorNextEnd Sub
Ausführen des Programms
Führen Sie das Programm mit der Taste " F5 ". Im Textfeld "Star Wars" , und drücken Sie die Taste. Das Programm wird die Datenbank abfragen, um den Regisseur des Films , dessen Titel Sie trat zu finden. Nachdem ich " George Lucas " erscheint , geben Sie einen anderen Filmtitel : " Excalibur ", und drücken Sie die Taste , um zu sehen Regisseur John Boorman Namen erscheinen
Exploring the -Code
< br . >
siehe Funktion XlinqQuery , die die Datenbank funktioniert . Die Mini- Inline- Datenbank die LINQ-Abfrage läuft auf ein Stück von XML- Code. Sie können LINQ verwenden, um andere Arten von Datenbanken abfragen , sowohl remote ( online) und diejenigen, die auf Ihrem Computer gespeichert.
Die tatsächliche LINQ
Die tatsächliche LINQ-Abfrage ist als folgt : .
Dim query = _From m In myMovies _Where m.Value = strMovie _Select m
Obwohl seine Art nicht explizit gegeben , nach der "query" die Dim-Anweisung eine Variable . Der komplette Abfrage Dim -Anweisung nicht die Abfrage ausführen , nur definiert es . Die Aussage , die tatsächlich führt die Abfrage ist folgende: .
Für jedes Ergebnis In queryTextBox2.Text = result @ directorNext
Für jede Iteration dieser Schleife , die Ergebnis-Kennung hält den Ausgang des Abfrage , die alle Daten zwischen den XML-Tags ist und < /Film > , für einen bestimmten Paar dieser Tags. Die besondere schreiben wir ziehen aus dem Ergebnis Variable ist der Direktor Attribut , obwohl Sie auch wählen könnten @ year_released .
Sie über LINQ-Abfragen durch Basteln mit diesem Programm lernen können. Starten Sie , indem Sie die Film -Datenbank. Fügen Sie mehr Filme und Regisseure - oder ändern Sie die Datenbank ganz nach Ihren eigenen Interessen widerspiegeln . Fügen Sie Ihre eigenen Feldern - aka Attribute - den Regisseur und year_released Felder aus der Film -Datenbank ersetzen. Anstelle der Suche nach einem Datenbank-Eintrag durch seinen Namen (z. B. "Star Wars" ), können Sie von Feld /Attribut suchen. Wenn Sie von der year_released Attribut gesucht in dem Film -Datenbank , die Where-Klausel in der Abfrage würde wie folgt aussehen : Wo m @ year_released = intYear . . Hier erzählt das kaufmännische die Abfrage-Engine , die Sie auf einem XML- Attribut übereinstimmen , da im Gegensatz zu einem Wert (z. B. "Star Wars" ) .