【问题标题】:Create XRM EntityMetadata创建 XRM 实体元数据
【发布时间】:2016-08-22 11:46:12
【问题描述】:

我正在为 Microsoft Dynamics CRM 开发一个 XRM 插件。我希望能够仅使用 XRM 程序集引用而不使用 CRM 内核代码来实例化 EntityMetadata 类型的对象。我只能声明一个 EntityMetadata 类型的对象:

EntityMetadata entityMetadata;

使用 CRM 内核代码,可以像这样实例化 EntityMetadata 类型的对象:

EntityMetadata entityMetadata = MetadataCache.GetInstance(((PipelineExecutionContext)context).PlatformContext)
                                    .GetEntity(entityName, NameMappingType.Logical);

我的项目的限制要求我只使用 XRM 代码,并且不允许我引用任何更熟悉的 Microsoft.Crm.* 程序集。

【问题讨论】:

  • 这是一个真正的项目还是只是一个自己的 poc?
  • CRM 程序集已经在服务器上可用,所以您在服务器上注册的程序集不需要合并它们...您确定不能引用它们来编写您的代码?似乎是一个非常奇怪的约束,你能告诉我们更多关于它的信息吗?

标签: c# dynamics-crm xrm


【解决方案1】:

一个选项:只需使用 RetrieveEntityRequest 消息。它已经在 Microsoft.Xrm.Sdk 命名空间中。

这是你的意思吗?

更多信息here

【讨论】:

    【解决方案2】:

    感谢所有回复。这是一个概念证明。我们被要求从 CRM 内核中删除代码,并主要依赖 XRM 程序集。这是我们为 EntityMetadata 提出的方法:

    DynamicMetadataCache metadata = MetadataCache.GetInstance(((PipelineExecutionContext)context).PlatformContext);
    EntityMetadata entityMetadata = metadata.GetEntity(entity.LogicalName, NameMappingType.Logical);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-30
      • 1970-01-01
      • 1970-01-01
      • 2011-09-28
      相关资源
      最近更新 更多