2012-03-22 369 views
-1

需要帮助,是新程序员,我想将IEnumerable转换为小数,thanx!更新股票是OrderdMaterials表中的字段无法将类型'System.Collections.Generic.IEnumerable <decimal>'隐式转换为'decimal'

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; 

     } 

    } 
+1

您需要对您的股票价值进行一些汇总。例如。 .Sum() – 2012-03-22 15:07:50

+0

@lazyberezovsky OP可能不想要一个聚合,但它确实带来了问题。 “OrderdMaterialsCollection”是打算用于聚合还是只会有* first *或* single *记录? – Yuck 2012-03-22 15:11:31

+0

也许你需要一些与'UpdatedStock == true'的项目? – sll 2012-03-22 15:14:25

回答

3

Select()方法在你的情况下返回decimalIEnumerable。这意味着它可以多于一个decimal。如果您只想拥有第一个,或者您知道只有一个您可以使用First()。在这里你可以阅读更多关于First

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

result = myMat.First(); 
相关问题