1
A
回答
2
先選擇一個值然後運行Distinct。
(from item in table
select item.TheSingleValue).Distinct();
如果你想要整個記錄你需要使用group x by into y
。然後您需要找到一個合適的聚合函數,如First
,Max
,Average
或類似的來選擇組中的其他值之一。
from item in table
group item by item.TheSingleValue into g
select new { TheSingleValue = g.Key, OtherValue1 = g.First().OtherValue1, OtherValue2 = g.First().OtherValue2 };
+0
聽起來像OP希望整個記錄被返回,但不僅僅是項目 – LukeH
3
您可以使用庫如morelinq來做到這一點。你會對DistinctBy()
方法感興趣。
var query = records.DistinctBy(record => record.Column);
否則,你可以手工做到這一點。
var query =
from record in records
group record by record.Column into g
select g.First();
+0
如何在第二個查詢中添加順序? –
0
你可以做的IEqualityComparer接口的實現:
public class MyObjectComparer : IEqualityComparer<MyObject>
{
public bool Equals(MyObject x, MyObject y)
{
return x.ColumnNameProperty == y.ColumnNameProperty;
}
public int GetHashCode(MyObject obj)
{
return obj.ColumnNameProperty.GetHashCode();
}
}
並傳遞一個實例爲鮮明方法:
var distinctSource = source.Distinct(new MyObjectComparer());
相關問題
- 1. C#Multidimensionarray設置一個值的區別
- 2. 爲列值設置別名
- 3. LINQ - 按價值區分?
- 4. CSS中的初始值和未設置值有什麼區別?
- 5. LINQ到對象列表區別
- 6. 用Linq-Query設置值?
- 7. KeyPairValue Linq如何設置值
- 8. 按參考值設置的數組/按值設置
- 9. 按數據庫列值設置文本
- 10. 使用JSE(Selenium c#)設置值和文本的區別
- 11. 設置默認值之間的區別DefaultStyleKey
- 12. 在cakephp 3.0中設置和序列化的核心區別?
- 13. Linq to SQL代碼區別
- 14. LINQ - 區別被忽略?
- 15. C#LINQ區別(IEqualityComparer)幫助
- 16. 按ID分組的LINQ組 - 與命令區別
- 17. NDB數據存儲。如何區分默認值和未設置的區別
- 18. Oracle:爲列設置時區
- 19. MDX:爲列設置別名
- 20. 如何使用LINQ設置表格中每一行的列值?
- 21. 將Linq中的非列屬性值設置爲SQL查詢
- 22. 模擬對象和設置一個值有什麼區別
- 23. 區別沒有設置和空?
- 24. 陣列的區別
- 25. Spring MVC:spring之間的區別:消息和請求區域設置
- 26. 兩種區別獲取區域設置語言的方法android
- 27. 設置按鈕的初始狀態的兩種方式之間的區別
- 28. int32.Equals int的區別? == int?對於linq
- 29. linq findlast和其中的區別
- 30. LINQ中總和與總數的區別
你只想回到剛纔的不同列做,或其他值呢? –