Nehmen wir an, ich habe eine Anwendung, die auf eine SQL-Datenbank zugreift. Die Datenbank hat zwei Tabellen:Wer ist dein Model?
- Tiere; und
- Rezepte
Ich habe ein In-Memory-Modell dieser Datenbank. Es gibt zwei Klassen - Animal
und Recipe
. Diese sind von INotifyPropertyChanged
geerbt und verfügen über Eigenschaften, die 1-zu-1 den Feldnamen in der Datenbank zuordnen.
Um meine Datenzugriffsebene zu erstellen, habe ich zwei weitere Klassen - SqlAnimals
und SqlReceipes
. Jede Klasse verfügt über eine Load
und eine Save
Methode. Load
Durchläuft die entsprechende Tabelle, um eine Liste von Objekten zu erstellen. Save
verwendet eine Liste von Objekten, um eine Tabelle zu aktualisieren. Beispiel: SqlRecipes.Load
gibt IList<Recipe>
zurück und SqlRecipes.Save
akzeptiert IList<Recipe>
als Parameter.
Schließlich habe ich ein Formular namens RecipesView
. Dies basiert auf einem ViewModel - einer anderen Klasse namens RecipesViewModel
. RecipesViewModel
erbt von INotifyPropertyChanged
und enthält eine BindingList<Recipe>
Eigenschaft.
Jetzt ist hier, wo ich ein wenig verwirrt bin. Im obigen Beispiel gehe ich davon aus, dass die In-Memory-Klassen und die SQL-Klassen alle als Modell-Teil von MVVM betrachtet werden. Bin ich jedoch richtig in der Annahme, dass das In-Memory-Modell könnte als ViewModel Teil betrachtet werden?
Kürzlich hörte ich, dass ein ViewModel nur Daten anzeigen sollte, die von der Ansicht angezeigt werden. Da das speicherinterne Modell über jedes einzelne Feld verfügt, handelt es sich nicht um ein ViewModel?
Bitte sagen Sie mir, Sie ein Rezept für Ameisenbär Eintopf oder Giraffe Steaks in der Datenbank haben. – Will
'links Join animal.id auf recipie.ingredientid' – Will
Mehr wie' linken beitreten animal.id auf recipe.animal_portion_id'. Giraffe Steak und Riesen-Tintenfisch Ring Surfen und Rasen ist nicht die Frage – Mitkins