[英]Why does using Linq Group By Sum give me a cast error?
I try using 2 queries to get the result of a subtraction, then a group by sum. 我尝试使用2个查询来获得减法的结果,然后按总和进行分组。 The logic seems good but I have the following error: unable to implicitly convert type 'System.Collection.Generic.List' <> 'to' int '
逻辑看起来不错,但出现以下错误:无法将类型'System.Collection.Generic.List'隐式转换为'int'
My requests: 我的要求:
var postesList = (from od in db.tbl_607_order_details
join o in db.tbl_607_order on od.FK_ID_order equals o.ID
where o.order_number == contract
select new OrderWizardViewModel
{
idPoste = od.ID,
posteNumber = od.poste_number,
contractQ = od.order_quantity,
recievedQ = od.recieved_quantity,
lifeTime = od.gaz_lifetime,
stockMini = od.stock_mini,
shippingDelay = od.shipping_delays,
onTheRoadQ = 0
}).OrderBy(t => t.posteNumber).ToList();
foreach (var item in postesList)
{
item.onTheRoadQ = (from od in db.tbl_607_order_details
join srd in db.tbl_607_shipping_request_details on od.ID equals srd.FK_ID_order_details
where item.idPoste == srd.FK_ID_order_details & srd.shipping_quantity > srd.reception_quantity
select new
{
quantity = (srd.shipping_quantity - srd.reception_quantity.Value)
}).GroupBy(t => t.quantity).Select(x => new { Sum = x.Sum(y => y.quantity) }).ToList();
}
I want fill postesList.onTheRoadQ with the sum of shipping_quantity - reception_quantity 我想用shipping_quantity的总和来填充postesList.onTheRoadQ -ception_quantity
Some idea? 有想法吗
All your statement returns a List, Just Sum
in the end to summ all the values of the list. 您所有的语句都返回一个列表,最后只求
Sum
即可累加列表的所有值。
item.onTheRoadQ = (from od in db.tbl_607_order_details
join srd in db.tbl_607_shipping_request_details on od.ID equals srd.FK_ID_order_details
where item.idPoste == srd.FK_ID_order_details & srd.shipping_quantity > srd.reception_quantity
select srd.shipping_quantity - srd.reception_quantity.Value
).Sum()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.