Динамика CRM, как получить список всех лиц

Работая с CRM 2013, как я могу получить список всех сущностей в CRM через connectionManager учебный класс? Я хочу получить все объекты для текущего подключения.

2 ответа

Решение

Спасибо за ваш комментарий и ответьте на него сейчас, это моя функция

public static EntityMetadata[] GetEntities ( IOrganizationService organizationService)
{
    Dictionary<string, string> attributesData = new Dictionary<string, string>();
    RetrieveAllEntitiesRequest metaDataRequest = new RetrieveAllEntitiesRequest();
    RetrieveAllEntitiesResponse metaDataResponse = new RetrieveAllEntitiesResponse();
    metaDataRequest.EntityFilters = EntityFilters.Entity;

    // Execute the request.

    metaDataResponse = (RetrieveAllEntitiesResponse)organizationService.Execute(metaDataRequest);

    var entities = metaDataResponse.EntityMetadata;

    return entities;
}

и я вызываю свою функцию в форме приложения Windows следующим образом: var allEntities = CRMHelpers.GetEntities(service); foreach (EntityMetadata Entity in allEntities) { cbxEntity.Items.Add(Entity.LogicalName); }

Если вы ищете получение метаданных сущности с использованием кода (C#), то у нас есть встроенные сообщения для получения всех сущностей, а также, если требуется, информации об уровне атрибута. Вы можете использовать сообщение "RetrieveAllEntitiesRequest". Пример кода будет следующим для достижения того же.

RetrieveAllEntitiesRequest retrieveAllEntityRequest = new RetrieveAllEntitiesRequest
{
    RetrieveAsIfPublished = true,
    EntityFilters = EntityFilters.Attributes
};
RetrieveAllEntitiesResponse retrieveAllEntityResponse = (RetrieveAllEntitiesResponse)serviceProxy.Execute(retrieveAllEntityRequest);

Если вам нужно получить конкретную информацию о сущности, вы можете использовать сообщение "RetrieveEntityRequest". Образец для того же будет следующим:

RetrieveEntityRequest entityRequest = new RetrieveEntityRequest
{
    EntityFilters = EntityFilters.Attributes,
    LogicalName = entityName,
    RetrieveAsIfPublished = true
};
RetrieveEntityResponse entityResponse = (RetrieveEntityResponse)serviceProxy.Execute(entityRequest);

Надеюсь, это то, что вы искали. Дайте нам знать, если вам нужна дополнительная информация о том же.

Другие вопросы по тегам