1

允许基于 WebAPI OData 的 Web 服务更新整个集合的最佳实践是什么?

例如,我们有一个管理页面,允许用户维护付款条款列表。我们创建了一个基于 PaymentTerm 实体的控制器,它允许标准的 Get、Get by key、Put、Post 和 Delete,用于处理 PaymentTerm 实体的单个实例。但是,我们的 UI 团队希望检索一组付款条件(使用标准 Get 集合很容易完成),在本地对其进行操作,然后将整个集合 Put 或 Post 回服务器,而不必进行一系列 Put 、发布和删除对服务器的调用。

我已经尝试为此创建一个操作方法,虽然我已经设法让它工作,但它似乎有点笨拙,因为它需要一个 ID,以及 odata 参数(包含集合),并且 ID 没有意义,因为此时,您使用的不是付款期限的实例,而是它们的整个集合。

我可以创建一个新的控制器,专门用于处理一组付款条件,但我不确定这会更好,因为它最终必须有一个基类声明

EntitySetController<PaymentTermCollection, int>

或类似的东西,这没有多大意义,因为集合没有任何意义的键。

4

1 回答 1

0

您应该考虑使用 EntitySetApiControllers 在您的 Web api 中支持 $batch (OData 的标准部分)然后您可以在 JayData 的支持下,轻松地向您的服务器提交一组更改,包括多个实体的 post-put-delete ,...祝你好运

于 2013-09-04T03:40:15.103 回答