Unter UWP ist es manchmal sinnvoll eine lokale Datenbank für die Anwendung zu erstellen.
Hierbei ist es wichtig, dass die Datenbank einfach zur Laufzeit on-the-fly erstellt wird.
Deshalb eignet sich hier am besten die Sqlite Datenbank.
Diese ist seit 2018 auch mit EF Entitiy Framework und Linq ausgestattet.
Notiz: Seit dem Windows 10 Anniversary Update (Build 14393) ist SQLite bestandteil von Windows 10.
Das heißt man muss als Using Referenz nur noch Microsoft.data.SQLite angeben
Installation in UWP App
In Visual Studio das Projekt auswählen und im Kontext auf ->Manage NuGet Packages klicken.
Im NuGet Package-Manager gibt man in Browse: sqlite ein und wählt das Paket
Microsoft.Data.Sqlite von Microsoft
SQLite implementation of the System.Data.Common provider model.
Commonly Used Types: Microsoft.Data.Sqlite.SqliteCommand Microsoft.Data.Sqlite.SqliteConnection Microsoft.Data.Sqlite.SqliteConnectionStringBuilder Microsoft.Data.Sqlite.SqliteDataReader Microsoft.Data.Sqlite.SqliteException Microsoft.Data.Sqlite.SqliteFactory Microsoft.Data.Sqlite.SqliteParameter Microsoft.Data.Sqlite.SqliteTransaction |
In C# Code Einbinden
In der UWP Seite MainPage.cs gibt man dann im Using-Header den Namespace Microsoft.Data.SQlite ein
//< using > using HtmlAgilityPack; //HtmlDocument using System.Net; //*WebRequest using System.Threading.Tasks; //*Task using Microsoft.Data.Sqlite; //*SQLite for UWP from Microsoft //</ using > |
Anschliessend kann die Datenbank zur Laufzeit erstellt werden, während die Mainpage geöffnet wird
public MainPage() { this.InitializeComponent(); optStop.IsChecked = false;
//SqliteEngine.UseWinSqlite3(); //Configuring library to use SDK version of SQLite using (SqliteConnection db = new SqliteConnection("Filename=Projects.db")) { db.Open(); String tableCommand = "CREATE TABLE IF NOT EXISTS MyTable (Primary_Key INTEGER PRIMARY KEY AUTOINCREMENT, Text_Entry NVARCHAR(2048) NULL)"; SqliteCommand createTable = new SqliteCommand(tableCommand, db); try { createTable.ExecuteReader(); } catch (SqliteException e) { //Do nothing } } } |
SQLite Daten lesen
Daten lesen und schreibben in der SQLite Datenbank ist recht einfach
SQLiteConnection dbConnection = new SQLiteConnection("Folders.db"); |
Zur Datenverarbeitung findet man dann https://blogs.windows.com/buildingapps/2017/02/06/using-sqlite-databases-uwp-apps/#k24zYWkVYzaczTzM.97