

如圖所看有兩個欄位是重復的 我想更具這兩個重復的欄位刪掉重復想 怎么寫 后面的是現在的代碼 求大神指教
uj5u.com熱心網友回復:
use Enumerable.Distinct<TSource> Method (IEnumerable<TSource>,?IEqualityComparer<TSource>)http://blog.csdn.net/q107770540/article/details/5784646?locationNum=1&fps=1
https://msdn.microsoft.com/en-us/library/bb338049.aspx
uj5u.com熱心網友回復:
初始化賦值的時候 去掉uj5u.com熱心網友回復:
1L 都告訴你了,你return 之間做下處理不就好了uj5u.com熱心網友回復:
1L 都告訴你了,你return 之前做下處理不就好了uj5u.com熱心網友回復:
GroupBy(a=>a.欄位).Select(a=> a.OrderBy(x=>x.欄位).FirstOrDefault());這樣可以根據某個欄位去除重復的,你看看怎么改成你想要的
uj5u.com熱心網友回復:
使用LINQ的分組寫法瑟uj5u.com熱心網友回復:
var SDLDelivered1 = db.NikeDTCDailyReport.Where(p => p.CN_Launch_Date >= date1 && p.CN_Launch_Date <= date2&& p.CN_Planning_Qty != 0 && p.LW_Specs_Review == null && p.Sample_Batch == null && p.Review_Request_to_Category == null && p.Review_back_from_Category == null
).Where(p => p.CN_CN_Copy_Status__Y_N_ == "Y").Select(p=>p.Style).ToList();
var SDLDelivered2 = SDLDelivered1.Distinct().Count();
轉成集合使用Distinct來去除重復
uj5u.com熱心網友回復:
query.groupby(p=>p.GoodsName).Where(p=>p.Count()>1).Select(p=>p.Max(ID)).ToList();然后你再根據這個Id的List去做洗掉處理就行了
uj5u.com熱心網友回復:
Distinctuj5u.com熱心網友回復:
query.groupby(p=>new{ p.GoodsName,p.UserName}).Select(p=>g.First());
uj5u.com熱心網友回復:
可以使用Distinct去除重復,也可以使用groupby進行去重
uj5u.com熱心網友回復:
/// <summary>
/// 去除Map集合中重復的方格
/// </summary>
public class MapListDistinct : IEqualityComparer<Map>
{
public bool Equals(Map x, Map y)
{
if (x == null || y == null)
return false;
if (x.PointX == y.PointX && x.PointY == y.PointY)
return true;
else
return false;
}
public int GetHashCode(Map obj)
{
if (obj == null)
return 0;
else
return obj.PointX.GetHashCode() ^ obj.PointY.GetHashCode();
}
}
其中
if (x.PointX == y.PointX && x.PointY == y.PointY)和obj.PointX.GetHashCode() ^ obj.PointY.GetHashCode();
這兩段內容是去除重復重點,將其修改成你需要比較的欄位
使用方法:
//去除重復的方格
mapsList = mapsList.Distinct(new MapListDistinct()).ToList();
uj5u.com熱心網友回復:
結尾distinct 不行么?uj5u.com熱心網友回復:
可行,不過,我不怎么用 EF ,喜歡用自己寫的 ORM
uj5u.com熱心網友回復:
distinctuj5u.com熱心網友回復:
Distinctuj5u.com熱心網友回復:
首先得看業務上頁面需要展示什么,雖然名稱一樣,但是其他列有不一樣的資料,如果去重且表格要顯示其他列那就只能取其中一條展示, 那就group by相同資料列,然后排序取第一條
如果不需要展示其他列資料,那直接查出來的時候不查那些資料不同的列(所屬編碼、商品編號),整個結果集distinct一下就好了。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/3693.html
標籤:LINQ
上一篇:求一個去重linq 陳述句
下一篇:CSDN會員有必要開嗎?
