有朋友在知乎上向我咨询:
OData 更新多表数据的时候,可以做多层级结构的 entity 吗?多层的时候 etag怎么做?比如我要更新表1.2.3。分别是 header 级别以及子层级别以及子层的子层。调用元调用一次会把三层的数据都给我们。如果 pu t不可以做,一般 odata 这种怎么做。请赐教。
这个朋友提的问题我归纳一下:
假设 OData 模型有 A B C 三个节点,这些节点具有层级关系,比如 A 是 B 的父节点,B 又是 C 的父节点。层级关系反映了实际的业务场景,比如一个订单可以包含多个行项目,每个行项目又可以包含一个产品信息和一个业务伙伴信息。
这个朋友问了好几个问题:
- OData 服务实现,能够一次性更新多个具有层级结构的节点数据吗?
- 具备层级结构的节点,ETAG 机制如何实现?
- OData 服务的代码具体应该怎么编写?
下面是具体的解答。