FetchXml:仅获取所有相关记录均满足条件的记录

时间:2020-05-17 14:16:09

标签: dynamics-crm microsoft-dynamics fetchxml

Dynamics 365 v8.2。 FetchXml。

每个isv_entity1记录可以与一个或多个isv_entity2记录(一对多)链接。我需要获取isv_entity1记录,而所有个链接的isv_entity2记录都符合某些条件。如果至少有一个链接的isv_entity2记录不符合条件,则isv_entity1记录不应属于选择范围。

如何通过FetchXml做到这一点?

如果我要使用此查询:

<fetch distinct='true' >
  <entity name='isv_entity1' >
    <attribute name='isv_entity1id' />    
    <link-entity name='isv_entity2' from='isv_entity2id' to='isv_entity2id' >
      <filter type='and' >
          <condition attribute='isv_someProp' operator='eq' value='someValue' />
      </filter>
    </link-entity>
  </entity>
</fetch>

然后我得到{em> {em>至少有一个链接的isv_entity1的{​​{1}}记录对应该条件。但这与我所需要的不一样。

1 个答案:

答案 0 :(得分:1)

您需要的是:find all parent records where all child records have a given value (but not just some child records)

上面的代码等同于您的sql要求,很遗憾,FetchXML不支持子查询。

因此您要么必须使用两个查询,要么要查询所有记录并进行迭代以验证/过滤符合您条件的结果