ホームページ > データベース > 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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート