Невозможно неявно преобразовать тип System.Collections.Generic.IEnumerable ‹decimal› в десятичный

Нужна помощь, я новый программист, и я хочу, чтобы IEnumerable был десятичным, спасибо !! Обновить запас - это поле в таблице OrderdMaterials.

 partial void Quantity_Compute(ref decimal result)
    {
        // Set result to the desired field value
        if (OrderdMaterialsCollection != null)
        {
            var myMat = OrderdMaterialsCollection.Select(a => a.UpdatedStock);

            result = myMat;

        }

    }

person Thuto Paul Gaotingwe    schedule 22.03.2012    source источник
comment
Вам необходимо произвести некоторое агрегирование стоимости ваших акций. Например. .Sum ()   -  person Sergey Berezovskiy    schedule 22.03.2012
comment
@lazyberezovsky OP, возможно, не хочет агрегировать, но это поднимает вопрос. Предназначен ли OrderdMaterialsCollection для использования в совокупности или действительно будет только первая или отдельная запись?   -  person Yuck    schedule 22.03.2012
comment
Возможно, вам нужно несколько предметов с UpdatedStock==true?   -  person sll    schedule 22.03.2012
comment
@sll Ошибка, кажется, указывает на то, что UpdatedStock является значением decimal, это имя может быть странным.   -  person Yuck    schedule 22.03.2012


Ответы (1)


В вашем случае метод Select() возвращает IEnumerable из decimal. Это означает, что их может быть больше одного decimal. Если вы просто хотите получить первый или знаете, что есть только один, вы можете использовать First(). Здесь вы можете узнать больше о First.

/*IEnumerable<decimal>*/ 
var myMat = OrderdMaterialsCollection.Select(a => a.UpdatedStock);

result = myMat.First();
person Bazzz    schedule 22.03.2012