使用 Odata 检索给定 ServiceAppointment 的所有资源

Retrieving all resources for a given ServiceAppointment with Odata

给定一个特定的 activity,假设它是 ServiceAppointment,我们如何检索与其关联的所有资源?

我知道 ActivityPartySet 存储了 activity 和 partyid 之间的关系。

每个 ServiceAppointment 可能有 1 个或多个资源。每个资源都有一个 partyid。

是否可以使用 odata (OrganizationData.svc) 来检索特定 ServiceAppointmnet 的所有资源?

我曾尝试使用 odata query designer 来生成查询,但没有成功。

如何使用 odata 检索指定 activity 的所有资源?

您可以使用以下高级查找查询检索用户类型的所有资源:

如您所见,我们需要过滤两件事:服务 Activity (serviceappointment) 的 GUID 和 Activity 派对的参与类型(否则我们获得资源和所有者)。

我们不能在 OData 中同时具备这两个条件。我们能得到的最接近的结果如下:

OrganizationData.svc/ActivityPartySet?
$select=PartyId&
$filter=serviceappointment_activity_parties/ActivityId eq (guid'<guid-here>')

此查询检索与给定服务 Activity 相关的所有 Activity 方。不幸的是,查询包括资源以及服务的所有者 Activity。如果这是不可接受的,您应该考虑使用其他网络服务之一进行查询。