Получить ВСЕ метаданные объекта в Dynamics CRM

Что я хочу сделать:

  1. Получить все метаданные из CRM.
  2. Сериализуйте эти метаданные и сохраните их в файле.
  3. Позже десериализуйте и отправьте эти метаданные в XrmFakeEasy для модульных тестов.

Шаги 2 и 3 выполнены, но я не знаю, как выполнить шаг 1. Я потратил некоторое время, копаясь в коде и в Google, но остаюсь в тупике.

Мы используем.Net, поэтому мне нужно прочитать ВСЕ метаданные объекта (тип: Microsoft.Xrm.Sdk.Metadata.EntityMetadata).

Если кто-нибудь знает, как это сделать, или может указать мне направление API (я не смог его найти), дайте мне знать.

PS Этот кейс предназначен для локального crm.

2 ответа

Решение

Если я правильно понял, вам нужно использовать запрос RetrieveAllEntitiesRequest. Вот более подробная информация: /questions/39606142/dinamika-crm-kak-poluchit-spisok-vseh-lits/39606148#39606148

Для блага всех, кто наткнется на этот пост, вот

Мое окончательное решение

public static EntityMetadata[] GetMetadata(IOrganizationService crmService)
{
    var request = new RetrieveAllEntitiesRequest
    {
        EntityFilters = EntityFilters.All
    };

    var response = (RetrieveAllEntitiesResponse) crmService.Execute(request);
    return response.EntityMetadata;
}
Другие вопросы по тегам