投稿

12月19日(木)3、4コマ目

今日、やったこと [確認テスト]EntityFramework Core 更新 確認テスト 今日のホワイトボード [確認テスト]EntityFramework Core 更新 確認テスト 正解例をあげておきます。 [モデル]Group.cs [モデル]Item.cs [モデル]ItemViewModel.cs [コントローラ]IndexController.cs [ビュー]Index.cshtml 次回は 年明けで、最終回。  多分、新ネタをやります。

12月19日(木)1、2コマ目

今日、やったこと [練習問題]Entity Framework Core 更新 今日のホワイトボード [練習問題]Entity Framework Core 更新 ポイントになるソースをあげておきます。 [モデル]Maker.cs メーカーマスタテーブルに対応するクラス。  [モデル]Genre.cs 製品ジャンルマスタテーブルに対応するクラス。  [モデル]Camera.cs 製品マスタテーブルに対応するクラス。  [モデル]CameraViewModel.cs コントローラ->ビューにデータを渡すために利用するビューモデルクラス。 [コントローラ]CameraController.cs [ビュー]Index.cshtml 次回は 評価用課題をやってもらいます。 

12月12日(木)1、2コマ目

今日、やったこと EntityFrameworkでDB更新(新規登録) [確認テスト]ASP.NET Core MVC + LINQ 今日のホワイトボード EntityFrameworkでDB更新(新規登録) 新規登録も更新や削除と同じ。以下で新規登録ができる。 ①DbContextクラスのプロパティに新規登録データを追加。  ②DbContextクラスのSaveChanges()実行。 Index.cshtml ItemController.cs 次回は EntityFrameworkでDB更新の練習問題。

12月5日(木)1、2コマ目

イメージ
今日、やったこと [練習問題]ASP.NET Core MVC+LINQ [サンプル]EntityFrameworkでDB更新 今日のホワイトボード [練習問題]ASP.NET Core MVC+LINQ 前回、第2段階まで解説済み。今日は第3段階、第4段階を解説。 第4段階完成版をあげておきます。 appsettings.json 前回と同じ。 Program.cs 前回と同じ。 [モデル]Area.cs 引数でプロパティを初期化するコンストラクタを追加。 [モデル]WeatherData.cs 前回と同じ。 [モデル]WeatherViewModel.cs コントローラからビューにデータを渡す際に利用。第4段階の検索結果、エラーメッセージを格納するプロパティを追加。 [モデル]AreaDays.cs 第4段階の検索結果(観測地ごとの検索条件に一致する日数を格納)を格納。 SearchDbContext.cs 前回と同じ。 [コントローラ] WeatherController.cs 第3段階、第4段階の検索を行うメソッドを追加。 Index()からこれらのメソッドを呼び出し。 [ビュー]Index.cshtml 第3段階、第4段階の検索を実行するためのボタンおよび検索結果の表示を追加。 [サンプル]EntityFrameworkでDB更新 ORマッピングツールのEntity Frameworkを使って、プログラム中にSQLを書かずにDBを更新。 更新は  ①DbContextクラスの各テーブルのデータを保持するプロパティを変更  ②DbContextクラスのSaveChanges()を呼び出し と、これだけで更新ができる。 作成した画面 データ入力用テキストボックスや選択用の選択リストが商品毎にある。 これらすべてをコントローラのメソッドの引数として受け取るにはあまりにも量が多いため、現実的ではない。 そこでフォーム入力データ取得用プロパティ Request.Form[] で取得する。 また、取得する際に必要な名前(name属性値)に商品IDを含めて入力・選択値を取得しやすくしている。 ...

11月28日(木)1、2コマ目

今日、やったこと [練習問題]ASP.NET Core MVC + LINQ 今日のホワイトボード [練習問題]ASP.NET Core MVC + LINQ 第1段階から第4段階まであるが、第2段階まで解説ずみ。 正解例をあげておきます。 appsettings.json DBへの接続文字列を設定。 今まで同じ。 Program.cs DbContextクラスのインスタンスをDI機能で生成、設定するように設定。 今までと同じ。 [モデル] Area.cs 観測地マスタテーブルに対応するモデルクラス。 [モデル]WeatherData.cs 観測データテーブルに対応するモデルクラス。 [モデル]WeatherViewModel.cs コントローラとビューの間でデータを受け渡す際に利用する。 [モデル]MinMaxTemp.cs 検索結果「最低・最高気温」データを受け渡す際に利用。WeatherViewModelクラスにプロパティとして追加する。 SearchDbContext.cs データベースアクセスを担当するDbContextクラス。今までとほぼ一緒。 [コントローラ]WeatherController.cs クライアントからのリクエストを処理するコントローラクラス。 [ビュー]Index.cshtml コントローラクラスWeatherControllerからリクエストURLのパスは"Weather"になる。 よって、ビューはViewsフォルダ以下のWeatherフォルダの格納。 次回は 第4段階まで解説。

11月14日(木)1、2コマ目

イメージ
今日、やったこと [練習問題 解説]LINQ練習問題4 ASP.NET Core MVC+LINQ 今日のホワイトボード [練習問題 解説]LINQ練習問題4 複数列の組み合わせでグループ化をするには対象プロパティの匿名オブジェクトを指定。 図 複数列の組み合わせでグループ化 正解例をあげておきます。 ① 売上ID 毎の売上総額を売上ID の昇順で出力 ②商品別売上件数を売上件数の降順で出力 ③グループ別売上総額をグループID の昇順で出力 ④各売上日の商品毎の売上総数を出力 表示は売上日の昇順、売上総数の降順 ⑤売上毎の売上総額を出力 ただし、売上総額が10,000 未満の売上のみ 表示は売上ID の昇順 ⑥グループ名が にぎり または まき または バッテラ の商品の売上総数を出力 ただし、売上総数が8以上の商品のみ、表示順は売上総数の降順 ⑦価格が500 以上1500以下の商品の売上件数、売上総数を出力 ただし、売上総数が10 以上の商品のみ 表示は商品ID の昇順 ⑧各商品の1 件の売上で最も多い販売数量を出力 表示は商品ID の昇順 LINQで検索アプリ ASP.NET MVCとLINQを組み合わせて検索アプリケーションを作成。 図 検索アプリケーション コントローラークラス(Controllers/SearchController.cs) ViewModelクラス(Models/ViewModel.cs) ビュー(Views/Search/Index.cshtml) 次回は 同じようなものを作ってもらいます。

11月7日(木)1、2コマ目

イメージ
今日、やったこと [練習問題 解説]LINQ練習問題3 グループに対する条件 グループ化した際の並び替え [練習問題]LINQ練習問題4 今日のホワイトボード [練習問題 解説]LINQ練習問題3 正解例をあげておきます。 Program.cs モデル(Groupクラス、Itemクラス、Salesクラス、SalesDetailクラス)、DbContextクラスは以前と同じ。 グループに対する条件 SQLのhavingはLINQにはないが、order byのあとのwhereはグループに対する条件になる。 1つのLINQ式にwhereが複数(group byの前、後)あっても問題なし。 図 グループに対する条件 グループ化した際の並び替え 行の並び替えは結局、最後に行う。グループ化しても、しなくてもorderbyはselectの前。 次回は LINQ練習問題4の続きと解説。