创建XRM EntityMetadata

时间:2016-04-27 22:54:20

标签: c# dynamics-crm xrm

我正在为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。*程序集。

2 个答案:

答案 0 :(得分:0)

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

这是你的意思吗?

更多信息here

答案 1 :(得分:0)

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

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