在动态CRM 2011,关于事件的实体, “状态的原因” optionset(又名的StatusCode)是关系到 “状态” optionset(又名statecode)元数据动态CRM:获取的StatusCode/statecode映射
例如看到这张截图
当我使用API来检索状态原因optionset,就像这样:
RetrieveAttributeRequest attributeRequest = new RetrieveAttributeRequest
{
EntityLogicalName = "incident",
LogicalName = "statuscode",
RetrieveAsIfPublished = true
};
RetrieveAttributeResponse attributeResponse = (RetrieveAttributeResponse)serv.Execute(attributeRequest);
AttributeMetadata attrMetadata = (AttributeMetadata)attributeResponse.AttributeMetadata;
StatusAttributeMetadata statusMetadata = (StatusAttributeMetadata)attrMetadata;
var dict = new Dictionary<int?, string>();
foreach (OptionMetadata optionMeta in statusMetadata.OptionSet.Options)
{
dict.Add(optionMeta.Value, optionMeta.Label.UserLocalizedLabel.Label);
}
它的工作原理,我得到的“状态原因”整个列表(的StatusCode )选项。但是,我没有得到关于哪个“状态原因”(状态码)选项与哪个“状态”(状态码)选项有关的任何信息。
如何获取该信息?
啊,好的,所以我应该在foreach中使用StatusOptionMetadata,而不是OptionMetadata - 将尝试出来... – codeulike 2013-03-18 10:49:45
喜欢codeulike,这有效吗? – 2013-03-19 06:44:10
为简洁起见。 – 2013-03-20 20:55:48