Мне очень сложно выяснить, как выполнять запрос LINQ в DataTable и возвращать полную строку при выполнении теста предложения WHERE на сумму.LINQ DataTable Sum In Where Section
Мой код:
transactionsToRemove.AddRange(paymentTransactionResults
.AsEnumerable()
.Where(...)
.GroupBy(r => (decimal)r["AccountNumber"]));
Есть несколько транзакций для каждого ACCOUNTNUMBER, и мне нужно суммировать их вместе и определить, являются ли они меньше, чем введенные пользователем суммы (для моей цели, это называется balanceGreaterThan) , Я не могу найти примеров, чтобы кто-то сделал такие вещи.
Заранее спасибо, ТАК.
Редактировать: Мои извинения - Колонка мне нужно подвести называется "Баланс"
Edit 2: Окончательный код
transactionsToRemove.AddRange(paymentTransactionResults
.AsEnumerable()
.GroupBy(r => r.Field<string>("AccountNumber"))
.Where(g => g.Sum(r => r.Field<decimal>("Balance")) < balanceGreaterThan)
.SelectMany(g => g));
мне пришлось изменить GroupBy использовать г .Field, а не r ["AccountNumber"]
Ничего себе, Слэкс пытается быть чрезвычайно разборчивым с каждым другим ответом, чтобы получить его собственную поддержку. Хитрый! – Timwi
@Timwi: Я делаю это для большинства ответов, даже если я не конкурирую с ними. Это довольно важный вопрос на начальном уровне, поэтому важно правильно получить детали. Кроме того, я ничего не делал. – SLaks
Да, мне нужен IEnumerable назад. Вы были более чем полезны. Полный код, указанный выше. –