Frage

Ich habe eine Eigenschaft automatisch generiert aus der Datenbank in meinem edmx: Beschreibung . Ich erstelle dann eine „partielle Klasse“ CS-Datei für die Entität und fügen Sie eine schreibgeschützte Eigenschaft: Kurze inhaltliche Beschreibung . Kurze inhaltliche Beschreibung der Getter-Beschreibung einfach verarbeitet (entfernt Zeilenvorschub, Wagenrücklauf, usw.).

Wie kann ich erhöhen Eigenschaft Änderungsbenachrichtigung für Kurze inhaltliche Beschreibung auf der Setter Beschreibung?

Danke!

War es hilfreich?

Lösung

Das wird ein Hack sein, aber es kann getan werden.

Zuerst müssen Sie außer Kraft setzen ReportPropertyChanging und ReportPropertyChanged . Dann überprüfen Sie die Parameter für den Namen Ihrer Immobilie ... in diesem Fall „Beschreibung“. Wenn sie auftritt, rufen Sie ReportPropertyChanging oder ReportPropertyChanged mit dem abgeleiteten Eigenschaftsnamen, in diesem Fall „Kurze inhaltliche Beschreibung“. Für jeden anderen Wert des Parameters, rufen Sie die Basisversion von ReportPropertyChanging/Changed.

Bearbeiten Beispiel:

    protected override void OnPropertyChanging(string property)
    {
        if (property == "Description")
        {
            base.OnPropertyChanging("ShortDescription");
        }
        base.OnPropertyChanging(property);
    }

    protected override void OnPropertyChanged(string property)
    {
        if (property == "Description")
        {
            base.OnPropertyChanged("ShortDescription");
        }
        base.OnPropertyChanged(property);
    }

Andere Tipps

Die Methoden sind auch teilweise, so in Ihrer partiellen Klasse Sie Code wie diese

hinzufügen
 partial void OnDescriptionChanged()
  {
    OnPropertyChanged("ShortDescription"); 
  }
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top