因为我需要创建一个查询,我需要在其中添加一个过滤条件,其中有效的实体类型可以是 e1、e2、e3 中的任何一个。
为此,我目前在 FetchXML 下面写了:
<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="true" top="5000">
<entity name="changelog" >
<filter type="and" >
<condition attribute="statecode" operator="eq" value="0" />
<condition attribute="event" operator="eq" value="Delete" />
<filter type="or" >
<condition attribute="entitytype" operator="eq" value="email" />
<condition attribute="entitytype" operator="eq" value="fax" />
<condition attribute="entitytype" operator="eq" value="letter" />
<condition attribute="entitytype" operator="eq" value="phonecall" />
</filter>
</filter>
<order attribute="statuscode" />
<order attribute="event" />
<order attribute="createdon" />
</entity>
</fetch>
上面的查询正在传递预期的记录。
但是,我相信也可能有另一种方法 - 通过使用 IN 运算符作为实体类型条件。
为了测试该查询,我使用了 XRMTool 的FetchXML Tester,它会引发错误。查询如下:
<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="true" top="5000">
<entity name="changelog" >
<filter type="and" >
<condition attribute="statecode" operator="eq" value="0" />
<condition attribute="event" operator="eq" value="Delete" />
<condition attribute="entitytype" operator="in" >
<value>
phonecall
</value>
<value>
email
</value>
<value>
fax
</value>
<value>
letter
</value>
</condition>
</filter>
<order attribute="statuscode" />
<order attribute="event" />
<order attribute="createdon" />
</entity>
</fetch>
上面的查询没有返回任何记录作为结果。
注意:我使用 FetchXML 测试人员的格式按钮对此进行了格式化。
有什么帮助吗?