2016-04-27 2 views
0

Я разрабатываю плагин XRM для Microsoft Dynamics CRM. Я хотел бы иметь возможность использовать только ссылки на сборку XRM и код ядра CRM для создания объекта типа EntityMetadata. Я только был в состоянии получить как объявить объект типа EntityMetadata:Создать XRM EntityMetadata

EntityMetadata entityMetadata; 

Использование кода CRM ядра, объект типа EntityMetadata может быть реализован следующим образом:

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

Ограничения, моего проекта диктуют, что я использую только код XRM, и мне не разрешено ссылаться на какие-либо более знакомые сборки Microsoft.Crm. *.

+2

Это настоящий проект или просто poc для себя? –

+1

Сборка CRM уже доступна на сервере, поэтому сборка, которую вы регистрируете на сервере, не должна объединять их ... вы уверены, что не можете ссылаться на них, чтобы написать свой код? Похоже, это очень странное ограничение, можете ли вы рассказать нам об этом больше? – Polshgiant

ответ

0

Один из вариантов: просто используйте сообщение RetrieveEntityRequest. Это уже в пространстве имен Microsoft.Xrm.Sdk.

Это вы имеете в виду?

Подробнее here

0

Спасибо за все ответы. Это доказательство концепции. Нам было предложено удалить код из ядра CRM и в основном полагаться на сборки XRM. Вот подход, который мы придумали для EntityMetadata:

DynamicMetadataCache metadata = MetadataCache.GetInstance(((PipelineExecutionContext)context).PlatformContext); 
EntityMetadata entityMetadata = metadata.GetEntity(entity.LogicalName, NameMappingType.Logical); 
Смежные вопросы