Datenzugriff mit .NET, LINQPad und LINQ to DB

.NET bietet eine ganze Menge Möglichkeiten, die uns unter Access/VBA nicht zur Verfügung stehen. Und diese Möglichkeiten wachsen ständig weiter, denn Entwickler stellen ihre eigenen Erweiterungen auf der NuGet-Plattform zur Verfügung. Was haben wir als Access-Entwickler nun davon Mittlerweile gibt es Bibliotheken wie LINQ to DB, mit denen Sie leicht von einer .NET-Anwendung auf Access-Datenbanken zugreifen können. Und es gibt mit LINQPad eine Benutzeroberfläche, mit denen Sie einfache Prozeduren mit Visual Basic programmieren können, ohne Visual Studio zu benötigen. Wir wollen diese beiden Tools als Vorbereitung zu einem weiteren Beitrag vorstellen. Dort werden wir diese nutzen, um die Tabellen einer Access-Datenbank mit zufälligen Beispieldaten zu füllen.

Wir werden in diesem Beitrag gleich mehrere Tools einführen, die Sie als Access-Entwickler noch nicht kennen – aber keine Sorge: Wir beschreiben alles ganz genau, sodass Sie die Techniken ohne Probleme für eigene Projekte anpassen können. Es handelt sich um die folgenden Tools:

  • LINQPad: Dies ist ein Editor, mit dem Sie C#- und VB-Code eingeben und ausführen können, ohne dass Sie Visual Studio benötigen.
  • Linq To DB: Dies ist eine Schnittstelle, mit der Sie beispielsweise von LINQPad direkt auf die Daten einer Access-Datenbank zugreifen können.

Damit haben wir ein perfektes Team: LINQPad ist unsere Entwicklungsumgebung zum Programmieren von Code, der unserer Datenbank Beispieldatenbank hinzufügt. LINQ To DB schafft die Verbindung zur Access-Datenbank.

Und in einem weiteren Beitrag namens Beispieldaten generieren mit .NET (www.access-im-unternehmen.de/****) zeigen wir, wie Sie eine weitere Bibliothek namens Bogus hinzunehmen, um die Tabellen einer Access-Datenbank mit zufällig generierten Beispieldaten zu füllen.

LINQPad herunterladen und installieren

Die “Spielwiese für .NET-Programmierer” können Sie unter dem folgenden Link herunterladen:

https://www.linqpad.net/

Danach installieren Sie das Tool und starten es.

Programme mit LINQPad schreiben

Da wir den Umgang mit VBA gewohnt sind, liegt es nahe, dass wir unter LINQPad Visual Basic nutzen und nicht C#. Um lauffähige Programme mit Prozeduren zu entwickeln, nutzen wir dort die Vorlage VB Program, die Sie für den einzigen bisher angezeigten Registerreiter unter Language auswählen.

Hier ergänzen Sie nun die bereits vorliegende Prozedur Main um eine Debug.Print-Anweisung und führen die Prozedur durch Betätigen der Taste F5 aus (siehe Bild 1).

Ein erstes Beispiel in LINQPad

Bild 1: Ein erstes Beispiel in LINQPad

F5 löst immer die Main-Prozedur aus. Dieser können Sie nun den kompletten benötigten Code zuweisen, Sie können aber auch Function– oder Sub-Prozeduren definieren und aufrufen oder auch Klassen deklarieren und initialisieren.

An dieser Stelle direkt der Hinweis, dass Sie Parameter unter VB immer in Klammern einfassen müssen. Außerdem erfolgen Zuweisungen auch an Objektvariablen ohne das Set-Schlüsselwort.

Linq To DB installieren

Damit wir auf unsere Beispieldatenbank zugreifen können, benötigen wir eine Erweiterung namens Linq To DB. Um diese hinzuzufügen, öffnen Sie mit dem Kontextmenü-Eintrag Query Properties… für den aktuellen Registerreiter die Einstellung für das aktuelle Fenster (siehe Bild 2).

Anzeigen der Query Properties

Bild 2: Anzeigen der Query Properties

Dies öffnet den Dialog Query Properties, der unten die Schaltfläche Add NuGet… bereithält (siehe Bild 3). Über NuGet-Pakete können Sie verschiedene Pakete mit Tools zu einem Projekt hinzufügen.

Hinzufügen von NuGet-Paketen

Bild 3: Hinzufügen von NuGet-Paketen

Klicken Sie diese an, erscheint der Dialog LINQPad NuGetManager.

Hier geben Sie unter Search online den Suchbegriff Linq To DB ein und finden schnell einen passenden Eintrag, den Sie mit einem Klick auf die Schaltfläche Add to Query zum aktuellen Query-Fenster hinzufügen (siehe Bild 4).

LINQ to DB hinzufügen

Bild 4: LINQ to DB hinzufügen

Tabellen der Datenbank verfügbar machen

Danach können Sie bereits eine Verbindung zur gewünschten Access-Datenbank hinzufügen. Dazu klicken Sie im linken Bereich des Fensters auf den Eintrag Add connection.

Es erscheint der Dialog Choose Data Context. Hier selektieren Sie im oberen Bereich den Eintrag LINQ to DB und klicken anschließend auf die Schaltfläche Next (siehe Bild 5).

Herstellen einer Verbindung zur Datenbank

Bild 5: Herstellen einer Verbindung zur Datenbank

Der folgende Schritt zeigt den Dialog LINQ to DB Connection an. Hier wählen Sie oben zunächst den Data Provider aus, in diesem Fall Microsoft Access (OleDb). Dann geben Sie die Verbindungszeichenfolge ein.

Bei der folgenden Verbindungszeichenfolge brauchen Sie nur den Pfad zur Access-Datenbank anzupassen:

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\...\LINQPad.accdb;Persist Security Info=False

Damit testen Sie schließlich noch die Verbindung (siehe Bild 6).

Testen der Verbindung

Bild 6: Testen der Verbindung

War dies erfolgreich, können Sie den Dialog mit OK beenden.

Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...

den kompletten Artikel im PDF-Format mit Beispieldatenbank

diesen und alle anderen Artikel mit dem Jahresabo

Schreibe einen Kommentar