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

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

Mary-Kate Olsen
Mary-Kate Olsen原創
2025-01-03 06:10:40453瀏覽

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn