Entity Framework Core unter Xamarin.Forms

Von

Mit Xamarin.Forms 2.4 ist Xamarin nun .Net Core kompatibel (sogar zu Version 2.0). Das größte Manko, meiner Meinung nach, war bis jetzt die Handhabung der lokalen Daten in einer Datenbank (meist SQLite). Die vorhandenen Bibliotheken (SQLite.Net-PCL und sqlite-net-pcl) sind leider alles andere als entwicklerfreundlich. Zumindest für C#-Entwickler, die vom Desktop-System kommen und Entity Framework 6, NHibernate und weitere kennen.

Nun gibt es mit Entity Framework Core eine Alternative für Xamarin. Der Einstieg ist zwar nicht ganz so einfach, wie mit Entity Framework 6, aber es lohnt sich. Vor allem fehlen bei .Net Core aktuell die Tools (insbesondere visuelle) für die Generierung / Visualisierung und Migration. Das meiste muss über die Kommandozeile gelöst werden.

SQLite Datenbank-Aktualisierung mit Entity Framework 6 und Code First

Von

Seit einiger Zeit unterstützt das Entity Framework mit Code First Methode auch die Migration der Datenbank. Allerdings muss dieses Feature explizit von dem Datenbank-Provider unterstützt werden (bei MS SQL ist dies der Fall). Bei SQLite ist diese Funktion leider nicht implementiert.

Ich dachte lange, wie man die Migration auch mit SQLite nutzen kann. In diesem Tutorial zeige ich einen gangbaren Weg, wie dies mit EF6 und aktueller SQLite-Version umgesetzt werden kann. Die Basis-Idee stammt dabei von Android, wo eine SQLiteOpenHelper-Klasse die Migration steuert.