如何获取实体属性元数据列表?

How can I get the entity attributes metadata list?

Dynamics 365 v8.2.2.

为什么 attributesMetadatanull?如何获取实体属性元数据列表?

{
    var req = new RetrieveEntityRequest {
        LogicalName = "opportunity",
        RetrieveAsIfPublished = true,
    };

    var resp = srv.Execute(req) as RetrieveEntityResponse;
    var entityMetadata = resp.EntityMetadata;
    var attributesMetadata = entityMetadata.Attributes; // null
}

您需要在请求中设置 EntityFilters,例如:

EntityFilters = EntityFilters.All

EntityFilters = EntityFilters.Attributes

完整代码片段如下:

RetrieveEntityRequest retrieveEntityRequest = new RetrieveEntityRequest
{
    EntityFilters = EntityFilters.Attributes,
    LogicalName = "opportunity"
};
RetrieveEntityResponse retrieveOpptyEntityResponse(RetrieveEntityResponse)service.Execute(retrieveEntityRequest);
EntityMetadata opptyEntity = retrieveOpptyEntityResponse.EntityMetadata;

默认情况下,EntityFilters.Default只会检索实体信息,这就是为什么您的属性列表为空。

Read more