Entity Framework 4 - Как ввести логику в установке недвижимости?

StackOverflow https://stackoverflow.com/questions/3729046

Вопрос

У меня есть недвижимость, автоматическую из базы данных в моем EDMX: Описание. Отказ Затем я создаю файл «Paratial Class» .Cs .CS .CS. Для объекта и добавить свойство только для чтения: Краткое описание. Отказ Getter Shortdections Просто процессы Описание (удаляет канал линии, возврат каретки и т. Д.).

Как я могу собрать уведомление об изменении недвижимости для Shortdescription на сетте описания?

Спасибо!

Это было полезно?

Решение

Это будет взлом, но это можно сделать.

Во-первых, вам нужно переопределить ReportPropertyChanging а также ReportPropertyChanged. Отказ Затем проверьте параметр для имени вашего свойства ... В этом случае «Описание». Если это происходит, позвоните ReportPropertyChanging или ReportPropertyChanged С полученным именем свойства, в этом случае «ShortDescription». Для любого другого значения параметра вызовите базовую версию ReportPropertyChanging/Changed.

Редактировать: Например:

    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);
    }

Другие советы

Методы также являются частичными, поэтому в вашем частичном классе вы можете добавить код, как это

 partial void OnDescriptionChanged()
  {
    OnPropertyChanged("ShortDescription"); 
  }
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top