Ich habe kürzlich eine Datenbanklösung untersucht und bin auf Entity Framework gestoßen. Ich verwende Code First, um Tabellen zu generieren, aber beim Versuch, das Layout meines Codes korrekt zu strukturieren, stieß ich auf ein Problem mit dem Design. Der allgemeine MVVM-Entwurf, dem ich folge, besteht darin, dass sowohl das Modell als auch das ViewModel INotifyProperty erben, so dass die ViewModels darauf hören können, wenn Änderungen an dem Modell vorgenommen werden, an das sie gebunden sind.MVVM & Entity Framework - Was löst Ereignisse aus?
Allerdings im Falle einer SQL-Datenbank und EntityFramework. Meine Modelle erben alle im Wesentlichen DbContext und sind POCO-Objekte.
Wenn das Modell keine Möglichkeit mehr hat, Ereignisse auszulösen, können die Ansichtsmodelle die Änderungen nicht mehr hören. Was passiert, wenn ViewModelA eine Änderung an einem Element im Modell (SQL-Datenbank) vornimmt? Wie weiß ViewModelB, dass es sich geändert hat, damit es entsprechend aktualisiert werden kann?
Vielen Dank im Voraus.
Bedeuten Sie, dass meine POCOs ObservableCollections enthalten können und von INotifyPropertyChanged erben und wie erwartet funktionieren? – Asheh
Ja, POCOs können ObservableCollections-Eigenschaften enthalten und INotifyPropertyChanged implementieren (nicht erben). Beachten Sie, dass Sie, um das Lazy Loading von EntityFramework und andere Funktionen nutzen zu können, Ihre Sammlungen, die ebenfalls Navigationseigenschaften sind, als "virtuell" kennzeichnen möchten. – devuxer
Was meinst du implementieren und nicht erben? Wie funktioniert das? – Asheh