FetchXml:只获取所有相关记录满足条件的记录。

问题描述 投票:0回答:1

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>

那么我得到的是 isv_entity1 的记录,其中有 至少一个 连接 isv_entity2 对应的条件。但是和我需要的不一样。

dynamics-crm microsoft-dynamics fetchxml
1个回答
1
投票

你需要的是: 找到所有的父记录,其中所有的子记录都有一个给定的值(但不只是一些子记录)。

上面的内容相当于你的要求的sql,不幸的是FetchXML不支持子查询,所以你要么使用两个查询,要么查询所有记录,然后迭代验证过滤符合你条件的结果。

所以你必须使用两个查询,或者查询所有的记录,然后迭代验证过滤符合你条件的结果。

© www.soinside.com 2019 - 2024. All rights reserved.