如何发现所有实体类型?一人一个?

时间:2013-05-06 07:41:27

标签: dynamics-crm-2011

我需要编写一个连接到CRM的服务,并返回服务器上可用的所有实体列表(自定义或其他)。

我该怎么做?要清楚,我希望返回所有实体的所有数据。只是每种类型的列表,无论是否存在任何类型。

2 个答案:

答案 0 :(得分:3)

您需要使用RetrieveAllEntitiesRequest

RetrieveAllEntitiesRequest request = new RetrieveAllEntitiesRequest()
{
    EntityFilters = EntityFilters.Entity,
    RetrieveAsIfPublished = true
};

// service is the IOrganizationService
RetrieveAllEntitiesResponse response = (RetrieveAllEntitiesResponse)service.Execute(request);

foreach (EntityMetadata currentEntity in response.EntityMetadata)
{
    string logicalName = currentEntity.LogicalName;
    // your logic here
}

请注意,您还会获得系统或隐藏的实体,例如wizardpagerecordcountsnapshot

答案 1 :(得分:1)

您可能会发现MSDN的这些部分很有用: