我的eDMX中的数据库自动生成了一个属性: 描述. 。然后,我为实体创建一个“部分类” .CS文件,并添加一个只读属性: 简短的介绍. 。 ShortDescription的Getter简单地处理描述(删除线馈电,运输返回等)。

我如何在描述的设定器上提高属性变更通知?

谢谢!

有帮助吗?

解决方案

这将是一个黑客,但可以做到。

首先,您需要覆盖 ReportPropertyChangingReportPropertyChanged. 。然后检查参数的属性名称...在这种情况下,“描述”。如果发生,请致电 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