我正在尝试识别Microsoft Dynamics CRM 2011中任何实体的未使用或非依赖字段。未使用或非依赖是指未在任何实体表单中使用的字段。
我已经用谷歌搜索了相同的主题,但无法获得所需的结果。我遇到的一个链接也没有解决这个问题: 查找未使用的 CRM 字段
我正在尝试识别Microsoft Dynamics CRM 2011中任何实体的未使用或非依赖字段。未使用或非依赖是指未在任何实体表单中使用的字段。
我已经用谷歌搜索了相同的主题,但无法获得所需的结果。我遇到的一个链接也没有解决这个问题: 查找未使用的 CRM 字段
首先我应该注意,仅仅检查一个字段是否不在表单上并不意味着它没有在某处使用。如果您有第三方集成或在实体上运行的其他逻辑,则可能会更新隐藏字段。如果您不确定是否为某个属性存储了数据,您可以在您的条件是该属性不为空的情况下执行检索请求。如果没有返回,则没有为该属性存储数据。
假设这已经很清楚,您想要做的是利用 Dynamics CRM 的 Dependency Tracking 来检查各个属性的依赖关系。
这是关于 CRM 2011 依赖跟踪的完整文章:http: //msdn.microsoft.com/en-us/library/gg309749.aspx
听起来最像您正在寻找的请求是RetrieveDependentComponentsRequest
. 根据您要查找的内容和文档,此请求似乎是最接近的匹配项:
返回直接依赖于解决方案组件的解决方案组件的依赖项列表。例如,当您将此消息用于全局选项集解决方案组件时,将返回代表任何选项集属性的解决方案组件的依赖记录,这些选项集属性引用全局选项集解决方案组件。当您将此消息用于帐户实体的解决方案组件记录时,将返回表示用于该实体的属性、视图和表单的所有解决方案组件的依赖关系记录。
完成您正在寻找的基本步骤将是:
RetrieveEntityRequest
以检索特定实体的所有属性RetreiveDependentComponentsRequest
您将 设置ObjectId
为MetadataId
属性的位置,并将 设置ComponentType
为 2(属性)。EntityCollection
响应上的属性以查看是否有任何依赖项具有ComponentType
24(形式)。