linq(言語統合の問い合わせ)は、コレクションから一意の要素をフィルタリングおよび取得する強力なツール
を提供します。ただし、オブジェクトの属性が単純でない場合、の使用は難しい場合があります。 Distinct()
Distinct()
disherin()
を使用します オブジェクトの属性でを使用するには、これらの属性に基づいてオブジェクトをグループ化し、各グループから一意の代表者を選択する必要があります。これは、LINQのおよび
メソッドを使用して実装できます。
Distinct()
例:id属性に基づく距離GroupBy
Select
ID属性に従って一意の人物のリストを取得するには、次のコードを使用できます。
このコードは、ID属性に従って個人オブジェクトをグループ化して、グループセットを作成します。次に、各グループから最初の人物オブジェクトを選択し、ID属性に基づいて人オブジェクトの一意のリストを効果的に提供します。
<code>Person1:Id=1,Name="Test1" Person2:Id=1,Name="Test1" Person3:Id=2,Name="Test2"</code>
List<Person> distinctPeople = allPeople .GroupBy(p => p.Id) .Select(g => g.First()) .ToList();
を使用することもできます。たとえば、IDおよびFavoriteColor属性に基づいて一意の個人オブジェクトリストを取得するには、次のコードを使用できます。
Select
一部のクエリプロバイダーは、各グループを分析できない場合があります。さらに、EF Core 6の以前のバージョンには、少し異なる方法が必要です。詳細については、提供されているStackoverflowの回答を参照してください。 (元のテキストはStackoverflowの回答を指していると想定されています。そうでない場合は、この文を削除できます)
以上がLINQの個別の()メソッドを使用して、特定のプロパティに基づいて一意のオブジェクトを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。