| |

ADO.NET / DatenbankenWie Datenbank-Applikation nach den aktuellen Programmierstandards erstellen? | |  | Autor: GambaJo | Datum: 10.03.11 11:28 |
| Ich möchte eine kleine Rezept-Verwaltung entwickeln.
Die Datenbank wird aus verhältnismäßig wenigen Tabellen (ich denke, max. 20) bestehen. Die Datenbank wird vermutlich eine SQLite-Datenbank sein.
Im Vorfeld möchte ich einige Parameter für das Projekt festlegen, um später nicht mittendrin umschwenken zu müssen.
Außerdem soll das Projekt für mich eine Übung sein, eine Datenbank-Applikation nach den aktuellen Programmiermethoden für dieses Gebiet zu erstellen. Das bedeutet, eine Aufteilung in mehrere Schichten (vermutlich GUI, Business und Datenbankkommunikation), Daten sollen als Objekte verfügbar sein usw.
Die erste Frage, die sich mir stellt, macht es Sinn das Entity Framework zu nutzen? Ich habe ein wenig recherchiert, und da scheiden sich die Geister. Bei kleineren Projekten, wie meines ja werden soll, soll es wohl ganz gut funktionieren.
Ich habe auch schon ein paar Beispiele zum EF durchgearbeitet. Die meisten Beispiele sind jedoch sehr simpel gehalten, und gehen nicht auf komplexere Problemstellungen ein.
In den meisten Beispielen wird ein Model aus einer Datenbank erstellt. Das Model soll ja ein logisches Abbild der Datenbankstruktur sein, welches eher das Was (also was wird da gespeichert) als das Wie (wie setze ich das technisch um) beschreibt.
Aus diesem Model wird dann meist ein DataSet erstellt, welches alle Tabellen einer Datenbank enthält. Ein instantiertes DataSet ist im Prinzip die Datenbank mit Daten im Arbeitsspeicher. So weit, so gut.
Per DataBinding lässt sich dann recht einfach ein Text-Feld oder ein DataGridView über dieses DataSet füllen.
Und hier hören die meisten Tutorials auf.
Aber wie geht es weiter? Ich meine, eine Datenbank-Applikation besteht ja nicht nur aus einer Form, auf der ich Daten eingeben kann, und per Navigator zwischen den Datensätzen hin und her springen kann.
Macht es eher Sinn mehrere DataSets zu nutzen, statt einem, welches alle Tabellen enthält?
Angenommen ich habe ein Rezept, welches aus dem Namen, der Beschreibung und ein paar weiteren Daten besteht. Mit diesem Rezept sind die Rezept-Details verknüpft, die Informationen, wie Menge, Einheit und Zutat enthalten.
Jetzt habe ich ein Form, auf dem sich ein DataGridView befindet, welches die vorhandenen Rezepte auflistet. Klickt man ein Rezeot in der Liste an, sollen unter der Liste die zugehörigen Controls mit den Daten aus diesem Rezept gefüllt werden (z.B. eine bestimmte Text-Box mit dem Namen des Rezeptes).
Die Rezept-Details sind ein weiteres DataGridView, welches mit den Details des ausgewählten Rezeptes gefüllt werden sollen. Klickt man so ein Rezept-Detail an, sollen weitere Controls, wie z.B. ComboBoxen mit dem Inhalt des ausgewählten Rezept-Details gefüllt werden (z.B. ComboBox für Einheit wird mit dem Eintrag „Liter“ gefüllt). Klappt man die ComboBox auf, sollen aber alle verfügbaren Einheiten aus der Einheitentabelle als Combobox-Einträge vorhanden sein, damit man die gewünschte Einheit auswählen kann.
Außerdem soll es einige Filter- und Gruppierungs-Möglichkeiten geben. Filtere ich direkt mit dem DataSet, oder wie macht man das?
Das Rezept enthält auch Kategorien (z.B. Snack, Hauptgericht, Dessert, …) und Unterkategorien (z.B. Fingerood, Suppe, Fleichgericht, …). Diese Kategorisierung möchte in einem TreeView abbilden. Pro Kategorie ein Knoten, und pro Unterkategroie ein Unterknoten, am liebsten mit einer Anzeige der Anzahl der Elemente in jedem Knoten.
Kann man das alles mit EF machen? Wenn ja, wie? Wenn nein, womit geht das besser (wie gesagt, nach den aktuellen Programmierstandards)? |  |
 | Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
  |
|
vb@rchiv CD Vol.6 vb@rchiv Vol.6
Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
Online-Update-Funktion Entwickler-Vollversionen u.v.m.Jetzt zugreifen Tipp des Monats Neu! sevPopUp 2.0 
Dynamische Kontextmenüs!
Erstellen Sie mit nur wenigen Zeilen Code Kontextmenüs dynamisch zur Laufzeit. Vordefinierte Styles (XP, Office, OfficeXP, Vista oder Windows 8) erleichtern die Anpassung an die eigenen Anwendung... Weitere Infos
|