使WCF数据服务DataServiceContext仅保存实际更改

时间:2012-10-23 04:37:19

标签: wcf-data-services silverlight-5.0

我使用PagedCollectionView将DataServiceCollection绑定到Silverlight控件。如果用户只是将焦点设置在DatePicker等特定控件之外,那么似乎记录被标记为已编辑。如何截获/覆盖此行为,以便仅将实际更改发送回服务器以进行保存?

2 个答案:

答案 0 :(得分:2)

在您添加服务引用时自动生成的Reference.cs文件中。 看看任何一个setter,你会发现没有像

这样的检查就直接推送了这个值
set 
{
  if (this._field == value) return;
  //raise the changing events - not shown
  this._field = value;
  //raise the changed events - not shown
}

我希望他们能改变它。

答案 1 :(得分:1)

您是说要将整个对象发送给更新而不仅仅是某些已更改的属性?如果是,您可以查看此博客:http://blogs.msdn.com/b/phaniraj/archive/2008/12/11/customizing-serialization-of-entities-in-the-ado-net-data-services-client-library.aspx

由于 PRATIK