簡體   English   中英

Dynamics CRM如何獲取所有實體的列表

[英]Dynamics CRM how to get list of all entities

使用 CRM 2013,如何通過connectionManager類獲取 CRM 中所有實體的列表? 我想獲取當前連接的所有實體。

感謝您的評論並立即回答它,這是我的功能

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);

希望這就是你要找的。 如果您需要更多信息,請告訴我們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM