我需要在连接到我所拥有的列表的对象列表的列中汇总值。 例如,我有A和B类,B有一个我想要求和的值:
class A
{
//props
}
class B
{
//props
decimal ValToSum { get; set; }
}
A与B有关系,因此每个A可以连接多个B.
我的数据上下文中有一个As列表:
IEnumerable<A> myList;
// obtain myList from DataContext
现在我想要将A的连接产生的每个B的ValToSum属性加起来。
类似的东西:
myList.Bs.Sum(x => x.ValToSum);
如何访问myList中与As相关的所有B的列表?
答案 0 :(得分:2)
var sum = myList.SelectMany(i => i.Bs).Sum(i => i.ValToSum);
答案 1 :(得分:2)
使用SelectMany
将序列展平为一个,而不是使用Sum
myList.SelectMany(x => x.Bs).Sum(x => x.ValToSum);
答案 2 :(得分:0)
var sum = myList.Bs.Select(x => x.ValToSum).Sum();