如何获取实体属性元数据列表?
How can I get the entity attributes metadata list?
Dynamics 365 v8.2.2.
为什么 attributesMetadata
是 null
?如何获取实体属性元数据列表?
{
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
只会检索实体信息,这就是为什么您的属性列表为空。
Dynamics 365 v8.2.2.
为什么 attributesMetadata
是 null
?如何获取实体属性元数据列表?
{
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
只会检索实体信息,这就是为什么您的属性列表为空。