группировка оператора linq, похоже, не группирует - PullRequest
0 голосов
/ 26 декабря 2011

У меня проблема с попыткой сгруппировать небольшой запрос linq.

Запрос выполняется нормально, но группировка не происходит.Я предполагаю, что из-за наличия 3 различных полей, которые я пытаюсь сгруппировать.

     var data = (from d in All()
                     group d by new { d.CustomerNumber, d.TransactionAmount, d.CustomerName }
                         into g
                         orderby g.Key.CustomerName
                         select new TransactionViewModel
                                    {
                                        CustomerNumber = g.Key.CustomerNumber,
                                        TransactionAmount = g.Sum(s=>s.TransactionAmount),
                                        CustomerName = g.Key.CustomerName
                                    });

В идеале я хотел бы иметь возможность вернуть сгруппированные данные с доступом к 3 полям.

Что мне нужно изменить?

1 Ответ

2 голосов
/ 26 декабря 2011

Вы уверены, что должны сделать группу d с помощью нового {d.CustomerNumber, d.TransactionAmount, d.CustomerName} Я просто удалил TransactionAmount из группы, так как он отличается для каждой строки.

Попробуйте это.

(from d in All() group d by new { d.CustomerNumber, d.CustomerName } into g orderby g.Key.CustomerName select new Test { CustomerNumber = g.Key.CustomerNumber, TransactionAmount = g.Sum(s => s.TransactionAmount), CustomerName = g.Key.CustomerName });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...