Linq to sql OnPropertyIDChanged上的LinqToSql计算字段
我有一个分部类来扩展我的一个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
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);
}