1

我需要使用剑道网格更新多个表。网格使用 Kendo 数据源通过服务调用(OData/Entity Framework)读取和更新远程数据。

  • 目前,网格可以从说 Table_A 读取/写入数据。
  • Table_A 可以与 Table_B 具有一对多的关系。我可以使用 $expand: {'Table_B'} 在读取期间检索 Table_B 项目
  • 在编辑行项目上,我还需要更新 Table_B 中的 N 个项目。我尝试更新模型中可用的子项(data.Table_B.results),但出现 413 错误,提示请求实体太大。

因此,在编辑网格项目时,是否可以:

  1. 在一次更新中更新父行和子行?
  2. 或者是否可以先更新父行然后更新子行

我已经搜索了示例,但到目前为止找不到任何示例。有什么想法或例子吗?

4

1 回答 1

1

2个选项都可以。

对于第一个,需要 Batch 功能,即将多个请求包装成一个多部分的 http 请求。

第二种就比较简单了,需要发送几个请求,例如:

  1. PUT/PATCH ~/odata/Orders(1)
  2. PUT/PATCH ~/odata/Orders(1)/OrderLines(1)
  3. PUT/PATCH ~/odata/Orders(1)/OrderLines(2)

如果你刚开始使用 OData,我建议从 OData v4 开始,因为从这个版本开始,它在几周前就成为了 OASIS 的标准。以下是一些示例供您参考:https ://aspnet.codeplex.com/SourceControl/latest#Samples/WebApi/OData/v4/

于 2014-04-14T00:17:44.840 回答