Как отфильтровать повторяющиеся строки
Привет -
Я использую entity framework linq query для извлечения моих данных. Проблема в том, что я получаю дубликаты строк номера счета-фактуры. Как мне устранить дубликаты строк?
Номер счета-фактуры дублируется для счетов-фактур, содержащих несколько позиций счета-фактуры.
Вот мой запрос
result = (from invoice in invoices join invoiceItem in invItems on invoice.Id equals invoiceItem.InvoiceId orderby invoice.InvoiceNo select new InvoiceReceiveShipmentVM { dtInvoiced = invoice.dtInvoiced, InvoiceNumber = invoice.InvoiceNo, InvoiceType = invoice.InvoiceType, InvoiceStatus = invoice.InvoiceStatus, Lines = invoiceItem.Line, Total = invoice.Total, Carrier = invoice.Carrier, }); return result.Distinct().AsQueryable();
Что я уже пробовал:
Я пробовал результат.Отчетливый().ToList() и я просматривал эту ссылку, чтобы найти что-то http://linq101.nilzorblog.com/linq101-lambda.php
Ehsan Sajjad
это ожидаемое поведение у вас есть несколько элементов против номера счета-фактуры, вам нужно написать логику на переднем конце для отображения его один раз может быть группировка их
Maciej Los
Ну, представьте себе: есть один счет - фактура со следующими свойствами: ID-5, No.: 5; и второй: ID-6, No.: 5. равны ли они?
Beginner Luck
вы хотите различать по какому столбцу
Troy Bryant
InvoiceNumber
Beginner Luck
Я не уверен, что это то, что вам нужно
Karthik_Mahalingam
если у вас есть несколько позиций счета-фактуры, то какой из них вы хотите игнорировать.
например:
Счет-фактура № 1
invoiceItem, имеющие 3-х элементов с одинаковым идентификатором счета-фактуры [1 .. значение ][1 ... какую-то ценность ] [ 1 .. какую-то ценность ]
в этом случае вы получите 3 записи, это то, как работает join, поэтому переходите к вашему отдельному вопросу, который вы хотите рассмотреть/проигнорировать в этих 3 пунктах.
Troy Bryant
В этом случае если номер счета один и тот же должен быть отображен первый все остальные счета с дубликатами номеров должны быть подписаны