Вы не можете ссылаться на сам документ в обновлении (пока). Вам нужно будет перебирать документы и обновлять каждый документ с помощью функции. См. этот ответ для примера, или этот для серверной стороны eval()
.
aNullableDouble = double.TryParse(aString, out aDouble) ? (double?)aDouble : null;
Интересный побочный эффект использования nullable типов состоит в том, что Вы не можете действительно использовать стенографию ЕСЛИ. Стенография, ЕСЛИ должен возвратить тот же Тип из обоих условий, и это не может быть пустым ни в одном случае. Так, бросок или выписывает его :)
Просто сдуйте синтаксис в полный синтаксис вместо стенографии... будет легче читать:
aNullableDouble = null;
if (double.TryParse(aString, out aDouble))
{
aNullableDouble = aDouble;
}
aNullableDouble = (double.TryParse(aString, out aDouble)?new Nullable<double>(aDouble):null)
.NET поддерживает nullable типы, но путем объявления их как таковой необходимо рассматривать их немного по-другому (как, понятно, что-то, что обычно является типом значения, теперь вид ссылочного выхода).
Это также не могло бы помочь многому, если Вы заканчиваете тем, что имели необходимость сделать, слишком много преобразования между nullable удваивается, и регулярный удваивается..., как мог бы легко иметь место с автоматически сгенерированным набором классов.