2015-01-16 7 views
0

У меня есть 2 таблицы, и я делаю некоторые объединения для возврата списка записей на основе некоторого требования. Я могу написать группу по запросу для моей requiremnet и fecth записей, но мне нужно то же самое в запросе Linq. мой SQL запрос:Как использовать группу в linq C# и получить список записей

select 
    MiscServiceDesc, 
    sum(PaymentAmount), 
    count(PaymentAmount) 
from 
    MiscTransaction MT 
join MiscService MS 
    on MT.MiscServiceID = MS.MiscServiceID 
group by 
    MiscServiceDesc 

где MiscTransaction и MiscService мои две таблицы.

Любая помощь? Заранее спасибо

+0

Мне нужно, когда соединение есть. – Santosh

+0

@Santosh Это написано так же, присоединяйся или не присоединяйся. – Magnus

+0

также проверьте это сообщение: http: //stackoverflow.com/questions/27730575/linq-to-sql-left-outer-join-with-group-by-and-having-clause –

ответ

2

Попробуйте это. Я не знаю MiscServiceDesc, PaymentAmount, PaymentAmount, какие из этих столбцов находятся в таблице MiscTransaction или в таблице MiscService, но при необходимости вы можете изменить код.

var result = (from mt in MiscTransaction 
       join ms in MiscService on mt.MiscServiceID equals ms.MiscServiceID 
       select new {ms.MiscServiceDesc, mt.PaymentAmount} into lst 
       group lst by lst.MiscServiceDesc into gr 
       select new {MiscServiceDesc = gr.Key, Summ = gr.Sum(c=>c.PaymentAmount), Count = gr.Count()} 
     ).ToList();