如何从代码中的CRM元数据源获取数据项列表?

时间:2012-08-09 18:46:04

标签: dynamics-crm dynamics-crm-2011 crm dynamics-crm-4

如何从代码中的CRM元数据源获取数据项列表列表?

我有像

这样的CRm元数据源
<crm:CrmMetadataDataSource ID="dsquestionOptionset" runat="server" EntityName="contact"
     AttributeName="securityquestion"/>

在html中。

我想从数据源获取代码中的数据项列表。

“securityquestion”是一个整数值,它链接到一个选项集。

我试过

 var listOfItems=dsquestionOptionset.Items;

但不可能

感谢任何帮助

Vinu

1 个答案:

答案 0 :(得分:3)

您需要查询元数据。一个例子(从这里:http://msdn.microsoft.com/en-us/library/gg509035.aspx)将是这样的:

RetrieveAttributeRequest retrieveAttributeRequest =
    new RetrieveAttributeRequest
{
    EntityLogicalName = Contact.EntityLogicalName,
    LogicalName = "new_picklist",
    RetrieveAsIfPublished = true
};

// Execute the request.
RetrieveAttributeResponse retrieveAttributeResponse =
    (RetrieveAttributeResponse)_serviceProxy.Execute(
    retrieveAttributeRequest);

// Access the retrieved attribute.
PicklistAttributeMetadata retrievedPicklistAttributeMetadata =
    (PicklistAttributeMetadata)
    retrieveAttributeResponse.AttributeMetadata;

// Get the current options list for the retrieved attribute.
OptionMetadata[] optionList =
    retrievedPicklistAttributeMetadata.OptionSet.Options.ToArray();