Dynamics crm 在公共数据服务中跨多个Dynamics实体进行筛选

Dynamics crm 在公共数据服务中跨多个Dynamics实体进行筛选,dynamics-crm,dynamics-365,dynamics-crm-webapi,common-data-service,dataverse,Dynamics Crm,Dynamics 365,Dynamics Crm Webapi,Common Data Service,Dataverse,我正在尝试通过公共数据服务/Microsoft Dataverse查询我们的Dynamics 365 CRM。当我只需要过滤我正在搜索的实体类型中存在的字段时,我可以管理这个。但我还需要过滤不同的链接实体 到目前为止,我可以很好地查询联系人实体: var contacts = svc.Get("contacts?" + "$select=firstname,lastname,address1_name,address1_line1," +

我正在尝试通过公共数据服务/Microsoft Dataverse查询我们的Dynamics 365 CRM。当我只需要过滤我正在搜索的实体类型中存在的字段时,我可以管理这个。但我还需要过滤不同的链接实体

到目前为止,我可以很好地查询联系人实体:

var contacts = svc.Get("contacts?" +
     "$select=firstname,lastname,address1_name,address1_line1," +
     "address1_postalcode,emailaddress1,statecode,_parentcustomerid_value&" +
     $"$filter=contains(firstname,'{firstName}') and " +
     $"contains(lastname, '{lastName}')"
    , formattedValueHeaders);
这将返回与筛选器匹配的联系人列表

但是,我还需要筛选联系人链接到的帐户名。如果我有AccountId值,那么我可以通过将
$“contains(\u parentcustomerid\u value,{AccountId}')”
添加到过滤器中来实现这一点。但是我不能用它作为输入数据,我要查询的是帐户名,而不是Id值

有什么办法吗


目前,我能看到的唯一方法是使用我现有的查询,然后循环遍历每个联系人并检查响应中返回的帐户名,如果匹配,那么实际上我已经过滤了它。但我更希望能够在一个查询中完成整个筛选。

您可以使用此选项根据查找字段名值进行筛选

https://devorg.crm.dynamics.com/api/data/v9.1/contacts?$filter=parentcustomerid_account/name eq 'test'