Linq to sql OnPropertyIDChanged上的LinqToSql计算字段

Linq to sql OnPropertyIDChanged上的LinqToSql计算字段,linq-to-sql,partials,calculated-columns,Linq To Sql,Partials,Calculated Columns,我有一个分部类来扩展我的一个LinqToSql类。在这个部分类中,我有以下计算字段 public bool IsInCluster { get { return Cluster != null; } } 为了使绑定到此字段的网格列数据自动更新,我实现了以下分部方法 但是,当我更新Cluster属性(如以下代码所示)时,不会调用OnClusterIDChanged方法: 私有void ExecCrea

我有一个分部类来扩展我的一个LinqToSql类。在这个部分类中,我有以下计算字段

    public bool IsInCluster
    {
        get
        {
            return Cluster != null;
        }
    }
为了使绑定到此字段的网格列数据自动更新,我实现了以下分部方法

但是,当我更新Cluster属性(如以下代码所示)时,不会调用OnClusterIDChanged方法:

私有void ExecCreateClusterCommand()
{

}


我已成功地将此技术用于与计算字段相关的其他非导航属性。有什么办法可以让它工作吗?

集群的setter中,如果状态已更改,请调用
OnClusterIDChanged

我能找到的唯一解决方案是在DeliveryPoint类中创建一个公共方法,使我能够为所需字段(导航属性)调用SendPropertyChanged:


在我的LinqToSQL生成的类中,对于集群的setter没有可扩展性方法-仅针对OnClusterIDChanged。
    partial void OnClusterIDChanged()
    {
        SendPropertyChanged("IsInCluster");
    }
        var cluster = new Cluster()
        {
            ID = Guid.NewGuid(),
            MailService = AppState.CurrentMailService
        };

        App.DataContext.Clusters.InsertOnSubmit(cluster);

        foreach (DeliveryPoint deliveryPoint in SelectedDeliveryPoints)
        {
            deliveryPoint.Cluster = cluster;
        }

        App.DataContext.SubmitChanges();      
        public void CallSendPropertyChanged(string propertyName)
        {
            SendPropertyChanged(propertyName);
        }