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