Linq2Sql:加入列的总和

问题描述:

我需要将Sum值加入到列表中的列表中。 例如,我有类A和B,和B具有值我要总结:Linq2Sql:加入列的总和

class A 
{ 
    //props 
} 

class B 
{ 
    //props 
    decimal ValToSum { get; set; } 
} 

A有A与B的关系,以使每一可以有很多烧烤加盟。

而且我从我的数据上下文的列表:

IEnumerable<A> myList; 
// obtain myList from DataContext 

现在我要总结从A.

喜欢的东西的加入导致每一个B的ValToSum属性:

myList.Bs.Sum(x => x.ValToSum); 

如何访问与myList中相关的所有Bs列表?

使用SelectMany拼合到济源一个比使用Sum

myList.SelectMany(x => x.Bs).Sum(x => x.ValToSum); 
+0

完美工作。 – 2012-01-15 23:09:41

var sum = myList.Bs.Select(x => x.ValToSum).Sum(); 
+0

我没有BS系列在myList中。我在A(如A.Bs)收集了Bs集合。 – 2012-01-15 22:54:41


var sum = myList.SelectMany(i => i.Bs).Sum(i => i.ValToSum); 
+0

完美工作。 Upvoted,但没有标记回答,因为来自Magnus的其他正确答案(更快和更多评论)。谢谢! – 2012-01-15 23:09:32