1

我的 edmx 中有一个从数据库自动生成的属性:Description。然后,我为实体创建一个“部分类”.cs 文件并添加一个只读属性:ShortDescription。ShortDescription 的 getter 只处理 Description(删除换行、回车等)。

如何在描述的设置器上为 ShortDescription 提出属性更改通知?

谢谢!

4

2 回答 2

4

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

首先,您需要覆盖ReportPropertyChangingand ReportPropertyChanged。然后检查属性名称的参数......在本例中为“描述”。如果发生,调用ReportPropertyChangingReportPropertyChanged使用派生的属性名称,在本例中为“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);
    }
于 2010-09-16T17:22:41.497 回答
3

这些方法也是部分的,所以在你的部分类中你可以添加这样的代码

 partial void OnDescriptionChanged()
  {
    OnPropertyChanged("ShortDescription"); 
  }
于 2011-09-30T19:16:50.580 回答