Я ищу инкапсуляцию раздела Select GroupBy, чтобы иметь более читаемый, понятный и приятный код. Так или иначе?Инкапсулировать LINQ GroupBy Выбрать
Это то, что я сейчас (и у меня есть много GroupsBy в моем коде, это не только один, это еще одна причина, чтобы инкапсулировать как можно больше):
var xTypeAggregatedTransactions = xTypeTrtansactions.
.GroupBy(x => new {x.TypeId, x.AccountId})
.Select(y => new PayTransactionsCommand
{
Id = Guid.NewGuid(),
Narration = item.Name,
AccountId = y.Key.AccountId,
Credit = y.Sum(z => z.Credit),
});
Это то, что я хочу :
var xTypeAggregatedTransactions = xTypeTrtansactions.
.GroupBy(x => new {x.TypeId, x.AccountId})
.AsEnumerable().ToPayTransaction();
Благодаря
Не думайте, что это возможно, из-за анонимных типов, которые вы используете для группировки. Вы можете попробовать сделать некоторые вещи, основанные на отражении, и создать Manage Expression Tree, но не видите, что это простое решение. – MarcinJuraszek
Проблема в том, что 'new {x.TypeId, x.AccountId}' является анонимным типом, поэтому вы не можете передать его методу, который будет знать, что с ним делать ... –
Что такое 'item' в это? –