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 サイトの他の関連記事を参照してください。