12月8日(月)1コマ目

今日、やったこと

  • [LINQ]複数列でグループ化
  • [練習問題]LINQ練習問題3

今日のホワイトボード

複数列でグループ化

以下が単一プロパティ(=列)でグループ化する場合と異なる。

〇グループ化する際のキーとなるプロパティ(=列)の指定

byにあとに、グループ化のキーとなる列の匿名クラスを作成。

この匿名クラスのプロパティ値が同じなら、同じグループになる。

〇Keyプロパティ

グループ化のキーとなるプロパティを表すKeyプロパティには複数列が含まれる。

 Key.プロパティで各プロパティを取得する


サンプルプログラム

売上日と商品名でグループ化し、各グループの売上金額を取得。

Sales.cs

売上データテーブルに対応するクラス。


SalesDetail.cs

売上詳細データテーブルに対応するクラス。


SushiDbContext.cs

追加したSalesクラス、SalesDetailクラスを使って、cs_売上データ一覧、cs_売上詳細データ一覧のプロパティを追加。


Program.cs


[練習問題 解説]LINQ練習問題3

正解例をあげておきます。

以下のクラスはサンプルプログラムと同じ。

  • Group.cs
  • Item.cs
  • Sales.cs
  • SalesDetail.cs
  • SushiDbContext.cs

①売上毎の商品点数(数量の総和)を出力


②売上日毎の売上件数を出力


③商品毎の売上総数を出力


④売上日毎の売上総数を出力


⑤商品毎の売上総額を出力


⑥売上日毎の売上総額を出力


⑦グループ毎の売上総数を出力


⑧売上日毎の各グループの売上総額を出力


⑨売上毎の各グループの売上件数を出力


⑩グループ名が にぎり または まき の商品毎の売上総額を出力


⑪価格が1,000 円代(1,000~1,999)の商品の商品毎の売上件数を出力


次回は

グループに対する条件(having)。

このブログの人気の投稿

1月19日(月)1コマ目

10月27日(月)1コマ目

1月26日(月)1、2コマ目