Dynamics CRM 2013:高级查找 FetchXML 包含额外字段 - 为什么?

Dynamics CRM 2013: Advanced Find FetchXML contains extra fields - why?

我有两个(相关)问题:

我在使用“高级查找”功能时遇到了一个令人费解的问题。我在标准和显示部分设置了我需要的字段,然后点击 'Download Fetchxml'。我最终得到的是我从未要求过的领域。例如,在我的高级查找中,我询问了所有活动。我将结果更改为仅显示创建日期、Activity 类型、主题和相关字段。生成的(截断的)fetchXML 如下所示:

<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false">
<entity name="activitypointer">
<attribute name="activitytypecode" />
<attribute name="subject" />
<attribute name="activityid" />
<attribute name="instancetypecode" />
<attribute name="community" />
<attribute name="createdon" />
<attribute name="regardingobjectid" />
<order attribute="subject" descending="false" />

为什么要包含这些额外的列?例如,我没有在任何地方请求 'community' 属性。

第二个问题: 什么决定了字段的输出顺序?我 运行 通过 Fetch Tester 3000(救了我的命 - 谢谢!)上面的 fetchXML,输出 table 与 xml 中属性的顺序无关。当我在别处使用 fetchXML 时也是如此。

提前感谢您的意见

按钮 Download Fetch XML 返回的 FetchXML 是在内部生成的,在某些情况下它 returns 额外的列(如您所见),例如始终添加实体。

如果删除附加属性,FetchXML 仍然有效并且可以执行。

关于顺序,您使用的工具 (Fetch Tester 3000) 显示 Table 视图中的字段按其逻辑名称排序,在 Dynamics CRM 中,属性(子网格和高级查找结果)的顺序是使用另一个称为 LayoutXML

的 XML 定义来定义