C#-仅使用选项的字符串名称设置CRM OptionSetValue

时间:2018-07-19 20:30:34

标签: c# dynamics-crm crm

是否可以仅使用选项的名称/标签通过Dynamics CRM设置新的OptionSetValue?

例如,我具有以下OptionSet:

1 : Male
2 : Female

如果我没有int值,是否可以改用string标签?例如...

my_optionSet = new OptionSetValue(Male)

3 个答案:

答案 0 :(得分:4)

我们使用$dist['12'] = distance($object1,$object2) ; $dist['13'] = distance($object1,$object3) ; $dist['23'] = distance($object2,$object3) ; // sort values into ascending order asort($dist); // take 1st element index reset($dist); $closest = key($dist); echo $closest; 来实现。

enum

这些将是预定义的key:value对,它们在环境之间永远不会改变。当您考虑避免在该属性中添加新选项时,避免进行代码部署并简化为仅针对方案解决方案的部署时,可以投资Retrieve OptionSet Metadata

答案 1 :(得分:3)

在您的情况下,我将使用Dictionary<string, int>作为映射表,然后可以传递字符串值,然后在int类中设置OptionSetValue参数。

Dictionary<string, int> mapperT = new Dictionary<string, int>();
mapperT.Add("Male", 1);
mapperT.Add("Female", 2);
my_optionSet = new OptionSetValue(mapperT["Male"]);

答案 2 :(得分:2)

除了阿伦回答。您可以生成Early-Bound类,并获取为您生成的选项集。 XrmToolbox中有一个用于此目的的工具:

enter image description here