PUT操作不支持深度更新

时间:2011-01-26 12:49:24

标签: c# ajax wcf-data-services

为什么.Net DataServices(Astoria)不支持深度更新,但是支持深度插入? 如何通过AJAX更新对象图?

http://msdn.microsoft.com/en-us/library/cc907912.aspx

2 个答案:

答案 0 :(得分:1)

一起进行更新的唯一原因是性能和全部或全部更新方案,这两种方案都是通过将所有更新作为一个请求进行批处理来实现的。

有没有理由不能使用批处理来更新对象图?

由于 PRATIK

答案 1 :(得分:0)

在MSDN上查看Vitek Karas的this answer

复制:(他提到的问题是人们要求理解为什么深度更新在语法必须带有的语义方面很复杂的问题)

  

一些问题:

     
      
  • 如果内部Feed仅包含一个项目,客户是否希望仅添加该项目,还是意味着还要从导航中删除所有其他项目?

  •   
  • 如果内部Feed包含已经存在于集合中的项目,则可能意味着更新它,但该集合中的其他项目又如何呢?他们应该被删除吗?

  •   
  • 如果上面两个问题的答案是“不删除”,那么如何使用“深度更新”方法从集合中删除项目呢?

  •   
  • 如果有一种方法可以使用“深度更新”从集合中删除某个项目,是否只是从导航中删除该项目,还是完全删除该项目?

  •   
     

您可以使用批处理将多个请求作为一个提交来解决此问题。