FetchXml:只获取所有相关记录都满足条件的记录
FetchXml: get only records for which all related records satisfy the condition
Dynamics 365 v8.2。 FetchXml.
每个 isv_entity1
记录可以与一个或多个 isv_entity2
记录链接(一对多)。我需要获取 only isv_entity1
记录,其中 all 链接 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
符合条件。但这和我需要的不一样。
您需要的是:find all parent records where all child records have a given value (but not just some child records)
以上 sql 等同于您的要求,不幸的是 FetchXML 不支持子查询。
因此,要么您必须使用两个查询,要么查询所有记录并迭代到 verify/filter 符合您条件的结果
Dynamics 365 v8.2。 FetchXml.
每个 isv_entity1
记录可以与一个或多个 isv_entity2
记录链接(一对多)。我需要获取 only isv_entity1
记录,其中 all 链接 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
符合条件。但这和我需要的不一样。
您需要的是:find all parent records where all child records have a given value (but not just some child records)
以上 sql 等同于您的要求,不幸的是 FetchXML 不支持子查询。
因此,要么您必须使用两个查询,要么查询所有记录并迭代到 verify/filter 符合您条件的结果