我需要编写一个连接到CRM的服务,并返回服务器上可用的所有实体列表(自定义或其他)。
我该怎么做?要清楚,我不希望返回所有实体的所有数据。只是每种类型的列表,无论是否存在任何类型。
答案 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
}
请注意,您还会获得系统或隐藏的实体,例如wizardpage
或recordcountsnapshot
答案 1 :(得分:1)
您可能会发现MSDN的这些部分很有用: