如何使用crm sdk和C#从CRM 2011中的实体字段中获取选项集

Rom*_*meo 4 c# crm dynamics-crm-2011

如何使用crm sdk和C#从CRM 2011中的实体字段中获取选项集?我只想与您分享一个直接的方法来获取实体中的字段选项集.

Nic*_*now 11

在Dynamics CRM中检索元数据信息的正确方法是仅检索所需的信息.我们应该只根据原始问题检索选项集值.当所有需求指定的是选项集的值时,检索实体的所有元数据是不必要的,并且将产生不必要的开销.

以下是获取选项集选项列表的正确方法.

    public static void GetOptionSet(string entityName, string fieldName, IOrganizationService service)
    {

        var attReq = new RetrieveAttributeRequest();
        attReq.EntityLogicalName = entityName;
        attReq.LogicalName = fieldName;
        attReq.RetrieveAsIfPublished = true;

        var attResponse = (RetrieveAttributeResponse)service.Execute(attReq);
        var attMetadata = (EnumAttributeMetadata)attResponse.AttributeMetadata;

        var optionList = (from o in attMetadata.OptionSet.Options
            select new {Value = o.Value, Text = o.Label.UserLocalizedLabel.Label}).ToList();


    }
Run Code Online (Sandbox Code Playgroud)

  • 谢谢@Nicknow.我得说,这比我的代码更好.这就是我喜欢的东西,有人可以总是分享一个更好的方法,帮助彼此提高他们的编码标准. (2认同)