如何过滤掉重复的行 [英] How do I filter out duplicate rows
问题描述
嗨 -
我正在使用实体框架linq查询来检索我的数据。问题是我得到重复的发票编号行。如何消除重复的行。
发票编号与包含多个发票项目的发票重复。
这是我的查询
result =(来自发票 发票
join invoiceItem in invItems on invoice.Id等于invoiceItem.InvoiceId
orderby invoice.InvoiceNo
选择 new InvoiceReceiveShipmentVM
{
dtInvoiced = invoice.dtInvoiced,
InvoiceNumber = invoice.InvoiceNo,
InvoiceType = invoice.InvoiceType,
InvoiceStatus = invoice.InvoiceStatus,
Lines = invoiceItem.Line,
总计= invoice.Total,
Carrier = invoice.Carrier,
});
return result.Distinct()。AsQueryable();
我的尝试:
我已经尝试过result.Distinct()。ToList()并且我一直在查看此链接以查找内容http://linq101.nilzorblog.com/linq101-lambda.php
public static IEnumerable DistinctBy(此 IEnumerable列表,Func< t,object> propertySelector)
{
return list.GroupBy(propertySelector).Select(x = > x.First());
}
试试这个有用的扩展
$ b来自这个网站的$ b
LINQ DistinctBy - 使用Lambda Expression参数 - 十一风 [ ^ ]
Hi -
I am using entity framework linq query to retrieve my data. Problem is I am getting duplicate rows of invoice number. How do I eliminate the duplicate rows.
Invoice Number is duplicating for invoices that have multiple invoice items.
Here is my 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();
What I have tried:
I've tried result.Distinct().ToList() and I've been looking through at this link to find something http://linq101.nilzorblog.com/linq101-lambda.php
public static IEnumerable DistinctBy(this IEnumerable list, Func<t, object> propertySelector) { return list.GroupBy(propertySelector).Select(x => x.First()); }
Try this useful extension
from this website
LINQ DistinctBy - With Lambda Expression Parameter - Eleven Winds[^]
这篇关于如何过滤掉重复的行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!