Dynamics crm 如何在Dynamics 365客户参与中使用FetchXML将审核表连接到实体表

Dynamics crm 如何在Dynamics 365客户参与中使用FetchXML将审核表连接到实体表,dynamics-crm,dynamics-365,fetchxml,audit-tables,Dynamics Crm,Dynamics 365,Fetchxml,Audit Tables,我想在此查询中添加实体表的链接: <fetch version="1.0" > <entity name="audit" > <all-attributes/> </entity> </fetch> 我尝试使用ObjectTypeCode属性,但链接到Product表,但似乎没有相应的值(Product的ObjectTypeCode是1024) 感谢您的帮助。不幸的是,您不能

我想在此查询中添加实体表的链接:

<fetch version="1.0" >
  <entity name="audit" >
    <all-attributes/>
  </entity>
</fetch>

我尝试使用ObjectTypeCode属性,但链接到Product表,但似乎没有相应的值(Product的ObjectTypeCode是1024)


感谢您的帮助。

不幸的是,您不能像使用
audit
表那样加入相关表。此外,查询可能需要基于
objecttypecode
与不同的表进行联合。FetchXML不支持联合

audit
表有点棘手,它不像任何其他实体,因为一些数据存储在
changedata
等列中的非规范化和分隔符分隔的值中。此外,
audit
systemuser
以外的其他表之间不保持关系

您可以使用XrmToolBox FetchXML builder来查看审计表并观察它们

审核实体的Web api端点如下所示:

https://crmdev.crm.dynamics.com/api/data/v9.2/audits?$top=50&$select=_objectid_value,attributemask,operation,transactionid,useradditionalinfo,createdon,_userid_value,_regardingobjectid_value,objecttypecode,action,auditid,_callinguserid_value&$filter=objecttypecode eq 'account'

非常有趣的部分是上述web api查询中的
$filter=objecttypecode eq'account'
。我不知道这是怎么回事。这与web api和fetchxml之间存在矛盾。

objectypecode是该审核记录的实体标识符,应在
部分中使用。如果您想要绑定并显示有关相关实体的信息,则需要知道该实体的绑定来源。它不会显示值的前后,它只是指向现有记录的链接

例如:

<link-entity name="product" from="productid" to="objectid" >
        <attribute name="attributenametoshow" />
        <filter>
            <condition attribute="attributenametofilter" operator="" value="" />
         </filter>
</link-entity>

如果希望查看审核记录的前后值,则可能需要使用WebApi中的函数