这应该是一个简单的场景 - 我有一个具有父/子关系的数据模型。例如,假设它是 Orders 和 OrderDetails - 1 Order -> many OrderDetails。
我想使用标准 DataService 通过 oData 公开模型,但有一些限制。
首先,我应该只看到我的订单。这很简单,使用 EntitySetRights.ReadSingle 和 QueryInterceptor 来确保订单实际上是我的。
到目前为止,一切都很好!但是,如何在 oData 提要中以一种我可以读取特定(读取单个)订单的 OrderDetails 而无需访问整个 OrderDetails 表的方式公开相关的 OrderDetail 记录?
换句话说,我想允许阅读我的详细信息
myUrl.com/OrderService.svc/Orders(5)/OrderDetails <-- Good! My order is #5
但不是每个人的详细信息
myUrl.com/OrderService.svc/OrderDetails <-- Danger, Scarry, Keep Out!
谢谢您的帮助!