Ich habe eine SQL-DB und implementiere eine WPF-Benutzeroberfläche, um sie zu aktualisieren. Wenn ich EF5 zum Generieren der Klassen aus der Datenbank verwende, wie kann ich INotifyPropertyChanged für die generierten Klassen und Eigenschaften implementieren, sodass ich sie problemlos mit der Benutzeroberfläche binden kann? Gibt es einen einfachen Weg, dies zu erreichen?Implementieren Sie INotifyPropertyChanged für generierte Entity Framework-Klassen
Dank
Wenn ich zum Beispiel 'Klasse Asset {public int id {get; set;}}} generiert hätte, würde ich' class AssetWrap schreiben: Asset, INotifyPropertyChanged {public int idNotify {get {return id; } set {id = Wert; NotifyPropertyChanged();}}} 'Wenn dies der Fall ist, erscheint dies sehr zeitaufwendig. – Steve
Normalerweise erbt das ViewModel nicht vom Model, sondern hat stattdessen ein Feld mit dem Model-Objekt, also etwas wie 'class AssetWrap: INotifyPropertyChanged {private Asset _asset; public int idNotify {get {return _asset.id; } set {_asset.id = Wert; NotifyPropertyChanged();}} '(Das ist nicht ganz abgeschlossen). Und ja, manchmal haben Sie am Ende eine Menge mühsamer Muster mit dem MVVM-Muster, aber es zahlt sich aus, wenn Sie eine Zwischenverarbeitung durchführen oder ändern müssen, wie das Modell angezeigt wird.Ich habe einen Link zu einer anderen Frage, die einige Ideen zur Reduzierung dieser Arbeitslast hat. – WildCrustacean
Ich kann den Vorteil von MVVM sehen, aber sie brauchen wirklich einige MVVM-Generatoren nicht, da viele davon oft der gleichen Vorlage folgen. – Steve