如何过滤掉重复的行 [英] How do I filter out duplicate rows

查看:69
本文介绍了如何过滤掉重复的行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

嗨 -



我正在使用实体框架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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆