【问题标题】:How to find out which Entity in Dynamics CRM is system?如何找出 Dynamics CRM 中的哪个实体是系统?
【发布时间】:2019-10-27 00:15:36
【问题描述】:

我正在使用对 GET "/api/data/v9.0/EntityDefinitions" 的请求来列出 Dynamics 中存在的所有实体。但问题是我找不到哪个字段表明该实体是系统。

谁能帮我解决这个小问题?

【问题讨论】:

  • 我仍然不确定您要做什么,为什么需要这些信息?您要解决的更大的问题是什么?
  • 我不想获取系统实体(发送额外请求来执行此操作)。我的主要目的是过滤掉这些实体。下一个问题是我自己创建的实体也标记为自定义。根据这篇文章 tutorialspoint.com/microsoft_crm/... 我创建了名为“Employer”的实体。查询有关此实体的元数据信息后,字段 IsCustomEntity 等于“true”。所以你的建议不像我预期的那样奏效。

标签: dynamics-crm dynamics-365 dynamics-crm-365 dynamics-crm-webapi


【解决方案1】:

为了获取用户创建的自定义实体检查

IsCustomEntity == true AND IsCustomizeable.Value == true AND IsCustomizable.CanBeChanged == true

【讨论】:

    【解决方案2】:

    这里有一些关于元数据和相关工具的好答案。归根结底,确定实体是否是您的自定义实体的最直接方法是查看前缀。

    例如,如果我有一个前缀为“zm_”的自定义解决方案,那么我可以检索实体模式名称以“zm_”开头的那些记录的实体元数据过滤

    【讨论】:

      【解决方案3】:

      以下条件证明 CRM 中的实体是否为系统实体。

      IsCustomizable.Value == false && IsCustomEntity == false

      我们需要检查 IsCustomizable 和 IsCustomEntity 属性,如果两者都为 false,则该实体称为 System 实体。

      【讨论】:

        【解决方案4】:

        我刚刚在 XrmToolBox - Metadata browser 插件中验证,每个 IsCustomEntity 过滤器有超过 400+ 个系统实体(非自定义)可用。您可以连接到环境、提取元数据、移动所需的列、导出到 Excel 进行分析。

        除了我原来的自定义实体外,一些 LinkedIn 集成实体和 msdyn 前缀实体也被标记为非系统(自定义)实体。所以你必须使用 James 提到的IsCustomEntity 属性来过滤掉系统实体。

        在获取时查询以排除系统实体元数据

        api/data/v9.0/EntityDefinitions?$filter=IsCustomEntity eq true

        【讨论】:

        • 问题是如何过滤掉我自己创建的实体(这些实体也标记为自定义)。
        • 根据这篇文章tutorialspoint.com/microsoft_crm/… 我创建了名为“Employer”的实体。查询该实体的元数据信息后,字段 IsCustomEntity 等于“true”。
        【解决方案5】:

        EntityMetadata EntityType

        实体集路径[组织 URI]/api/data/v9.0/EntityDefinitions


        IsCustomEntityEdm.Boolean实体是否为自定义实体。

        【讨论】:

        • IsCustomEntity 并不意味着它是系统实体。我可以创建自定义实体和大量记录,但这并不意味着所有这些记录都将是系统
        • @PavloMykhailyshyn 然后解释一下“系统”是什么意思
        • @PavloMykhailyshyn 不是 100% 确定你的意思。但是如果IsCustomEntityfalse 那么它就是一个系统实体。
        • 根据这个标题crmbusiness.wordpress.com/tag/system-entities里面提到有系统实体(“系统实体不能被删除”),我想知道哪些实体是系统的,不发送额外的请求来获取记录?
        • @PavloMykhailyshyn 正如其他人所说,您需要检查属性 IsCustomEntity,如果系统或自定义与如何获取记录无关
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-12-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-04-18
        相关资源
        最近更新 更多