1
我不是linq最棒的,但它是选择的语言。我正在尝试使用sql来编写查询。标准scenerio我有一张发票,发票上有发票细节。当加入表格时,具有多个细节的发票将重复。在标准的SQL中,我可以使用distinct或group by。我试图用linq跟踪,但得到错误,或者它只是不过滤掉它们。使用linq查询删除重复的行
这里是我的查询
var 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();
我也试过:
var myList = result.GroupBy(x => x.InvoiceNumber)
.Select(g => g.First()).ToList();
return myList.Skip(fetch.Skip).Take(fetch.Take).AsQueryable();
你或许应该描述你希望过滤掉。例如也许显示你期望得到的结果,以及这个查询是什么(错误地?)给你。 – failedprogramming