11月5日(水)2コマ目
今日、やったこと
LINQ
- 単一テーブルを全件検索
- 検索結果の関数実行
- 出力する列を指定(射影)
- 複数テーブルを結合して検索
今日のホワイトボード
前回作成したサンプルアプリケーションのProgram.csで確認。
単一テーブルを全件検索
SQLと異なり、FROMとSELECTの順が逆。
|
| 図 CS_グループマスタテーブルを全件検索 |
CS_グループマスタテーブルを全件検索は以下のとおり。
CS_商品マスタテーブルを全件検索は以下のとおり。
ItemクラスのToString()メソッド実行
CS_商品マスタテーブルを全件検索し、検索結果(Itemクラス)のメソッドを実行した結果を取得する。
select句でメソッドを呼び出す。
|
| 図 検索結果のメソッドを呼び出す |
取得する列を指定する(射影)
SQLだと、SELECT句で列名を指定する。
LINQでは、SELECT句で、必要な列のプロパティを持つクラスのインスタンスを生成する。
このクラスは一時的に使うだけなので、匿名クラスで対応。
|
| 図 取得する列を指定(射影) |
テーブルを結合する
SQLのinner joinと同じイメージ。
以下に注意!!
- inner joinではなく、join
- 等価結合なら、結合条件の等価演算子はequals
|
| 図 テーブルを結合 |
検索する(選択)
SQLのWHERE句で行に対する検索条件を指するイメージと同じ。
C#の等価演算子は=ではなく、==。
|
| 図 検索する |
次回は
練習問題をやってもらいます。




