Я согласен, что у вас должно работать нормально.Это может означать только то, что значение не опубликовано или является неправильным.Как упоминает @glosrob, убедитесь, что изменения действительно опубликованы.Подтвердите эти значения, просмотрев опубликованную форму и выяснив, присутствует ли ваше новое значение (и, возможно, дважды проверьте с помощью IE Developer Tools - нажмите F12) и убедитесь, что значение в объекте опции select> в HTML содержит ожидаемое целое число).
Кроме того, ваш код выглядит более сложным, чем необходимо (ИМХО!).Я считаю, что это легче читать, не менее эффективно:
Попробуйте это:
public static void CreateAccount(string accountName, string accountType)
{
////Create DynamicEntity
Entity accountToCreate = new Entity();
accountToCreate.LogicalName = "account";
accountToCreate.Attributes = attributes;
//Append properties
accountToCreate.Attributes.Add("name", accountName ?? "" );
accountToCreate.Attributes.Add("new_accounttype", new OptionSetValue(100000003);
try
{
service.Create(accountToCreate);
}
}