Deep Insider の Tutor コーナー
>>  Deep Insider は本サイトからスピンオフした姉妹サイトです。よろしく! 
書籍転載:ASP.NET MVC 5 実践プログラミング

書籍転載:ASP.NET MVC 5 実践プログラミング

LINQ:重複のないデータを取得する - Distinctメソッド[C#]

2014年11月25日

クエリ後の結果セットから重複したデータを除去するためのDistinctメソッドについて解説する。書籍転載の22本目(基礎編「5-3-5」)。

  • このエントリーをはてなブックマークに追加

書籍転載について

 本コーナーは、秀和システム発行の書籍『ASP.NET MVC 5 実践プログラミング』の中から、特にBuild Insiderの読者に有用だと考えられる項目を編集部が選び、同社の許可を得て転載したものです。

 

 『ASP.NET MVC 5 実践プログラミング』の詳細や購入は秀和システムのサイト目次ページをご覧ください。

ご注意

 本記事は、書籍の内容を改変することなく、そのまま転載したものです。このため用字用語の統一ルールなどはBuild Insiderのそれとは一致しません。あらかじめご了承ください。

5-3-5 重複のないデータを取得する - Distinctメソッド

 結果セットから重複したデータを除去するには、Distinctメソッドを利用します*28。たとえば以下は、Commentsテーブルからコメントユーザーの重複しない名前を取得する例です。

  • *28 対応するクエリー式構文はありません。
C#
public ActionResult Distinct()
{
  // Comments テーブルから重複のない名前を取得
  var comments = (from c in db.Comments
                  orderby c.Name
                  select c.Name).Distinct();

  return View(comments);
}
リスト5-43 Controllers/LinqController.cs
・井上鈴子
・和田翔太
・田中三郎
・井上鈴子
・井上鈴子
・和田翔太
・和田翔太
・田中三郎
上がDistinctメソッドがある場合、下がDistinctメソッドを外した場合*29
  • *29 対応するビュースクリプトDistinct.cshtmlは、配布サンプルを参照してください。

※以下では、本稿の前後を合わせて5回分(第20回~第24回)のみ表示しています。
 連載の全タイトルを参照するには、[この記事の連載 INDEX]を参照してください。

書籍転載:ASP.NET MVC 5 実践プログラミング
20. LINQ:データを並べ替える - orderby句[C#]

取得したデータを並べ替えるためのorderby句/OrderByメソッドについて解説する。書籍転載の20本目(基礎編「5-3-3」)。

書籍転載:ASP.NET MVC 5 実践プログラミング
21. LINQ:取得列を明示的に指定する - select句/SelectManyメソッド[C#]

範囲変数(エンティティ)から特定のプロパティだけを取り出したり、プロパティ値を加工したりするためのselect句/Selectメソッドについて解説。書籍転載の21本目(基礎編「5-3-4」)。

書籍転載:ASP.NET MVC 5 実践プログラミング
22. 【現在、表示中】≫ LINQ:重複のないデータを取得する - Distinctメソッド[C#]

クエリ後の結果セットから重複したデータを除去するためのDistinctメソッドについて解説する。書籍転載の22本目(基礎編「5-3-5」)。

書籍転載:ASP.NET MVC 5 実践プログラミング
23. LINQ:特定範囲のデータだけを取得する - Skip/Takeメソッド[C#]

指定された件数だけデータを読み飛ばすためのSkipメソッドと、指定された件数のデータだけを取得するためのTakeメソッドについて解説。書籍転載の23本目(基礎編「5-3-6」)。

書籍転載:ASP.NET MVC 5 実践プログラミング
24. LINQ:先頭のデータを取得する - Firstメソッド[C#]

クエリ後の結果セットから先頭のデータを取得するためのFirstメソッドについて解説する。書籍転載の24本目(基礎編「5-3-7」)。

サイトからのお知らせ

Twitterでつぶやこう!