我的edmx中有一个从数据库自动生成的属性: 描述 。然后,我为实体创建一个“部分类”.cs文件,并添加一个只读属性: ShortDescription 。 ShortDescription的getter只处理Description(删除换行,回车等)。
如何在描述设置器上为ShortDescription提出属性更改通知?
谢谢!
答案 0 :(得分:4)
这将是一个黑客,但它可以做到。
首先,您需要覆盖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);
}
答案 1 :(得分:3)
方法也是部分的,所以在你的部分类中你可以添加像这样的代码
partial void OnDescriptionChanged()
{
OnPropertyChanged("ShortDescription");
}