2015-02-20 6 views
1

Я использую этот запрос linq, чтобы получить список удвоений. Список выглядит правильно, но теперь мне нужно суммировать парные числа в списке.Получите сумму после объединения linq

 var total = from sauId in schools 
            join item in entities.AmountTable 
            on sauId equals item.sauId 
            select item.amount; 
+0

Если вы хотите сумму только, зачем вступать в школы? var total = entities.AmountTable.Sum (p => p.amount) – Ako

ответ

3

Использование Sum() на результат:

var total = (from sauId in schools 
       join item in entities.AmountTable 
       on sauId equals item.sauId 
       select item.amount).Sum(); 

Если item.amount является double, то total также double.

+0

Спасибо, я пытался приложить весь запрос в круглых скобках. – navig8tr

0

Для тех, кто ищет беглом синтаксиса, я считаю, это будет способ сделать это:

var total = schools 
    .Join(
     entities.AmountTable, 
     s => s.sauId, 
     at => at.sauId, 
     (s, at) => at.amount) 
    .Sum(); 
0

Попробуйте сгруппировать данные по его sauId:

var qry = from item in entities.AmountTable 
     group item by item.sauId into grp 
     select new { 
      sauId = grp.Key, 
      amuont = grp.Sum(c=>c.amount) 
     }; 
Смежные вопросы