Hi Experts,
I am writing a plugin. I am trying to assign the value retrieved after running the query to variable of type int. But I am getting an error message : System.InvalidCastException: Unable to cast object of type 'Microsoft.Xrm.Sdk.OptionSetValue' to type 'System.IConvertible'.
at System.Convert.ToInt32(Object value) .
Below is my code:
int serviceProviderCountry = 0;
foreach (var v in serviceProDetails.Entities)
{
debugString += "\nSapId Found " +sapId;
serviceProviderCountry = Convert.ToInt32(v.Attributes["new_address1country"]);
Please suggest the correct syntax to for this conversion.
Thanks
Amrita
*This post is locked for comments
Hi Guido,
Thanks for the help. It is working.
Thanks
Amrita
Hi Amrita,
Above answer is correct. However, you can also try the following:
foreach(var v in serviceProDetails.Entities) { debugString += "\nSapId Found " +sapId; if(v.contains("new_address1country") && v["new_address1country"] != null) { serviceProviderCountry = ((OptionSetValue)v.Attributes["new_address1country"]).Value; } }
Please mark this answer as verified, if it helped you.
you will need to get first the v value
OptionSetValue optAddressCountry = v.GetAttributeValue<OptionSetValue>("new_address1country");
and after extract the int value
if (optAddressCountry != null) { serviceProviderCountry = optAddressCountry.Value; }
Mohamed Amine Mahmoudi
83
Super User 2025 Season 1
Community Member
54
Victor Onyebuchi
6