Получить ВСЕ метаданные объекта в Dynamics CRM
Что я хочу сделать:
- Получить все метаданные из CRM.
- Сериализуйте эти метаданные и сохраните их в файле.
- Позже десериализуйте и отправьте эти метаданные в 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;
}