Linq2Sql: сумма объединенного столбца - PullRequest
0 голосов
/ 16 января 2012

Мне нужно суммировать значения в столбце списка объектов, соединенных со списком, который у меня есть. Например, у меня есть классы 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

Теперь я хочу суммировать свойства ValToSum каждого B, полученного в результате объединения, с A.

Что-то вроде:

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

Как получить доступ к списку всех B, связанных с As в myList?

Ответы [ 3 ]

2 голосов
/ 16 января 2012

var sum = myList.SelectMany(i => i.Bs).Sum(i => i.ValToSum);
2 голосов
/ 16 января 2012

Используйте SelectMany, чтобы сгладить последовательность в одно, а затем используйте Sum

myList.SelectMany(x => x.Bs).Sum(x => x.ValToSum);
0 голосов
/ 16 января 2012
var sum = myList.Bs.Select(x => x.ValToSum).Sum();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...