Entity Framework 4 - Как ввести логику в установке недвижимости?
-
03-10-2019 - |
Вопрос
У меня есть недвижимость, автоматическую из базы данных в моем 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");
}