Ситуациявыбирать различные результаты, используя Linq
У меня есть список объектов, и запрос Linq Я в настоящее время используется рассчитывает каждый элемент дважды. Это происходит потому, что данные настроены таким образом. Каждый номер PO будет иметь две строки, и я рассчитываю оба. Мне нужно только пересчитать.
PO Number Pallets
123 5
123 5
234 8
234 8
345 2
345 2
Linq запрос
Pallets = (from o in this.OrdersModel
where o.Pallets != null
select double.Parse(o.Pallets))
.Sum();
Предполагая, что каждый объект в наборе является OrderModel, когда этот запрос выполняется он будет возвращать 30 (все строки суммируются)
Желаемые Результат
Правильное количество поддонов должно быть 15, добавить каждый PO pal позволяет один раз.
Вместо этого я хотел бы, чтобы это было возможным выбрать отдельное число po, а затем добавить поддоны. Было бы очень легко добавить это условие в прямой SQL, но я имею малейшее представление о том, как это сделать в Linq.
Вопрос
- Есть быстрый и простой способ сделать отборное отчетливое число ра с помощью Linq?
- Если нет, то какой был бы лучший способ добиться чего-то подобного?
Вы имеете в виду разные? Существует метод linq под названием Distinct(), хотя я использую лямбда-форму, поэтому я бы не смог советовать по вашему запросу – Liath
Если у вас есть две записи для каждого номера заказа, как вы узнаете, какой из двух включить в свою сумму? –
Ну, если вы хотите быстрое решение: Паллеты = Паллеты/2; – PeterRing