2012-01-15 4 views
0

내가 가진 목록에 조인 된 개체 목록의 열에 값을 합계해야합니다. 예를 들어, I 클래스 A와 B가 있고, B는 내가 합계 할 값이 각 A가 많은 기지국이 가입 할 수 있도록Linq2Sql : 조인 된 열의 합

class A 
{ 
    //props 
} 

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

A가 B와 관계가 있습니다.

그리고 내 데이터 컨텍스트로의 목록이 있습니다

:

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

지금 나는 A.

뭔가 등을 가입으로 인한 모든 B의 ValToSum 속성을 요약 할을

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

MyList의 As와 관련된 모든 Bs의 목록에 액세스하려면 어떻게해야합니까? 내가 myList에 학사 모음이없는 Sum

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

답변

2

사용 SelectMany

하나에 sequances를 평평하게하고 있습니다. A에 Bs 컬렉션이 있습니다 (예 : A.Bs).
+0

완벽하게 작업했습니다. –

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

를 사용하는 것보다 –

2

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

완벽하게 작업했습니다. Upvoted, 그러나 Magnus로부터의 다른 정답 때문에 (더 빠르고 더 논평 된) 대답은 표시하지 않았다. 감사! –