根據LINQ 中的單一欄位選擇不同記錄
在LINQ 中處理資料時,可能需要過濾掉重複記錄,確保僅傳回唯一值。但是,可能需要根據特定欄位或屬性執行此操作,而不是消除整個重複行。
基本不同查詢
以下LINQ 查詢示範了使用Distinct() 方法消除重複行的基本方法:
var query = (from r in table1 orderby r.Text select r).Distinct();
此查詢檢索所有table1 中的行按文字欄位排序,然後從結果集中刪除所有重複項。
在特定欄位上不同
但是如果目標只是傳回怎麼辦特定欄位(例如文字)包含唯一值的行?要實現此目的,一個選項是使用GroupBy() 方法,然後使用Select() 方法:
table1.GroupBy(x => x.Text).Select(x => x.FirstOrDefault());
在此查詢中,table1 首先按文字欄位分組,為每個唯一的群組建立組文字值。然後,對於每個群組,使用 FirstOrDefault() 方法選擇第一行。結果是行的集合,其中文字欄位包含不同的值。
以上是如何在LINQ中根據特定欄位選擇不同的記錄?的詳細內容。更多資訊請關注PHP中文網其他相關文章!