首頁 > 資料庫 > mysql教程 > 如何刪除LINQ中基於特定欄位的重複記錄?

如何刪除LINQ中基於特定欄位的重複記錄?

Mary-Kate Olsen
發布: 2025-01-03 06:10:40
原創
415 人瀏覽過

How to Delete Duplicate Records in LINQ Based on a Specific Field?

根據表的欄位在 Linq 中刪除重複項

在 Linq 中,distinct 運算子提供了一種從表中消除重複記錄的簡單方法。但是,預設情況下,它會比較整個記錄,而不僅僅是特定欄位。

當您打算僅根據單一欄位(例如範例中的r.Text)過濾重複記錄時,需要修改方法.

使用您提供的查詢:

var query = (from r in table1
orderby r.Text
select r).distinct();
登入後複製

將防止重複,但基於所有欄位的組合內容,而不僅僅是r.Text.

要實現您想要的結果,請考慮以下查詢:

table1.GroupBy(x => x.Text).Select(x => x.FirstOrDefault());
登入後複製

此查詢將使用GroupBy 按Text 欄位對 table1 進行分組。在每個群組中,它使用 FirstOrDefault() 選擇第一個項目。產生的集合將包含文字欄位不同的行。

以上是如何刪除LINQ中基於特定欄位的重複記錄?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板