鉴于具体的活动,我们说它是ServiceAppointment,我们如何检索与之相关的所有资源?
我知道ActivityPartySet存储了活动和partyid之间的关系。
每个 ServiceAppointment 可能包含一个或多个资源。每个资源都有一个partyid。
是否可以使用odata (OrganizationData.svc)来检索特定ServiceAppointmnet的所有资源?
我尝试使用odata query designer来生成查询,但没有成功。
如何使用odata检索指定活动的所有资源?
答案 0 :(得分:1)
您可以使用以下高级查找查询检索所有类型为user的资源:
正如您所看到的,我们需要过滤两件事:服务活动(serviceappointment
)的指导和活动方的参与类型(否则我们同时获得资源和所有者)。
我们不能在OData中同时具备这两个条件。我们能得到的最接近的是:
OrganizationData.svc/ActivityPartySet?
$select=PartyId&
$filter=serviceappointment_activity_parties/ActivityId eq (guid'<guid-here>')
此查询将检索与给定服务活动相关的所有活动方。不幸的是,查询包括资源以及服务活动的所有者。如果这是不可接受的,您应该考虑使用其他一个Web服务进行查询。