Unsere aktuellen Beispieldatenbanken haben ein WPF/C#-Frontend, ein SQLite-Backend und das Entity Data Model als Zwischenschicht. Was geschieht nun, wenn wir einmal die Datenbank ändern wollen – etwa, weil wir neue Tabellen oder neue Felder in bestehenden Tabellen benötigen Wie ist die genaue Vorgehensweise, die auch berücksichtigt, dass der Benutzer eine neue Version installieren möchte, ohne die bereits im vorhandenen Backend gespeicherten Daten zu verlieren Wie dies gelingt, zeigt der vorliegende Artikel.
WeiterlesenKategorie: Entity Framework
LINQ to Entities-Beispiele in der Methodensyntax
LINQ to Entities ist die Abfragesprache für den Zugriff auf Daten in den Entitäten eines Entity Data Models. Im vorliegenden Artikel sehen wir uns einige Beispiele für den Zugriff per LINQ auf die Daten unserer Beispielanwendung “Bestellverwaltung” an. Dabei verwenden wir in diesem Artikel die Methoden-Syntax von LINQ.
WeiterlesenEDM: SQLite aktuell halten
SQLite erscheint regelmäßig in neuen Versionen. Das betrifft sowohl die NuGet-Pakete als auch die Komponenten, die für die Arbeit in Visual Studio wichtig sind. Wenn Sie nicht beide auf dem gleichen Stand halten, sind Probleme vorprogrammiert. Dieser Artikel beschreibt, welche Schritte zu beachten sind.
WeiterlesenEDM: Datenbindung mit dem ListBox-Steuerelement
Im Artikel Das ListBox-Steuerelement: Grundlagen haben wir die Grundlagen zum ListBox-Steuerelement erläutert. Heute gehen wir einen Schritt weiter und zeigen, wie Sie die Daten aus Objekten anzeigen, die beispielsweise aus einer Datenbank-Tabelle gewonnen oder anderweitig in die Objekte gefüllt werden. Dabei zeigen wir auch, wie Sie in der ListBox anspruchsvollere Daten wie etwa mehrspaltige Daten oder auch Bilder anzeigen.
WeiterlesenEDM: Bilder speichern und anzeigen
In der Bestellverwaltung haben wir bisher nur mit einfachen Daten in Datentypen wie Text, Zahl oder Datum gearbeitet. Dabei kann man doch mit WPF auch wunderbar Bilddateien anzeigen. In diesem Artikel erweitern wir die Datenbank Bestellverwaltung um das Speichern und die Anzeige von Bildern zu den Produktdatensätzen.
WeiterlesenEntity Framework: SQLite verknüpfen
In den letzten Artikel haben wir oft die SQLite-Datenbank als Beispieldatenbank verwendet. Nun kann es allerdings durch einen falschen Connection-String oder eine verschobene, gelöschte oder leere Datenbank dazu kommen, dass die Anwendung nicht über das Entity Framework auf die Datenbank zugreifen kann. Dieser Artikel beschreibt einige Szenarien, in denen das der Fall ist und zeigt, wie Sie beim Start der Anwendung prüfen können, ob die Quell-Datenbank erreichbar ist und diese gegebenenfalls neu auswählen.
WeiterlesenWPF-Trigger
Trigger kennt der geneigte Access-Anwender höchstens vom SQL Server, wo diese die Möglichkeit boten, auf Änderungen in den Tabellen zu reagieren, für die sie angelegt wurden. Ein Konstrukt namens Trigger gibt es aber auch unter WPF. Dort sind Trigger nicht an Tabellen gebundene Algorithmen, sondern Definitionen von Aktionen, die in Zusammenhang mit Datenänderungen ausgelöst werden. Dieser Artikel stellt Trigger und ihre Anwendungsmöglichkeiten vor.
WeiterlesenEDM: Ausnahmen beim Speichern behandeln
Die Validierung bei der Eingabe von Daten ist eines der wichtigsten Themen bei der Erstellung benutzerfreundlicher Anwendungen. In diesem ersten Artikel zu diesem Thema wollen wir uns darauf beschränken, solche Eingabefehler abzufangen, welche durch die Restriktionen im Datenmodell und entsprechende Fehleingaben entstehen. Das sind beispielsweise Fehler, die auftreten, weil der Benutzer keinen Wert in ein Feld eingibt, dass nicht leer sein darf oder der Datentyp des Feldes nicht mit dem eingegebenen Wert korrespondiert.
WeiterlesenEDM: Validieren von Entitäten mit IDataErrorInfo
Die Validierung bei der Eingabe von Daten ist eines der wichtigsten Themen bei der Erstellung benutzerfreundlicher Anwendungen. Nachdem der Artikel “EDM: Ausnahmen beim Speichern behandeln” gezeigt hat, wozu Sie im Rahmen der Validierung die durch Restriktionen im Datenmodell auftretenden Exceptions nutzen können, schauen wir uns nun einen einfachen Weg an, um Validierungsregeln in Entitätsklassen zu definieren und beim Fehlschlagen der Validierung entsprechende Meldungen in der Benutzeroberfläche auszugeben. Dabei zeigen wir hier den Umgang mit der Schnittstelle “IDataErrorInfo”.
WeiterlesenEDM: Lookup-Kombinationsfelder
Im Artikel “Einfaches Detailfenster” sehen wir uns an, wie Sie per Drag and Drop die Daten einer Kundentabelle über ein Entity Data Model zu einem Fenster hinzufügen und dieses mit Navigationsschaltflächen ausstatten. Eine Kleinigkeit fehlt dort noch: Die Umwandlung des Textfeldes mit den Anreden in ein entsprechendes Kombinationsfeld, mit dem sich die Anreden auswählen lassen. Dies reichen wir im vorliegenden Artikel nach.
Weiterlesen