情報応用演習Ⅰ(2024)

【T8a】多対多のリレーションシップ(2/8)

プロジェクトタイプ(注意: 本文参照)
プロジェクト名T8a
ソリューション名PIT8

8a-2. 準備作業

今回は前章で作成したプロジェクト T7b を,T8a という名前で複製して使用することにしよう. 以前と同じ要領で空のソリューションを作成してプロジェクトを複製しデータベース側の準備を済ませよう(_).

データベース側の準備と動作確認

以下を確認しておこう.

  1. 実際にデータベース t8a_db が作られておりチュートリアル【T7b】と同じテーブルが作成されていること( pgAdmin で確認する._).
  2. プロジェクトを起動すると,「学生管理」のリンクを含むページが表示されること.
  3. 学生の新規登録,詳細表示,一覧表示,編集,削除が一通り動作すること.
  4. URLの末尾を書き換えて存在しないパス(例えば"/Hoge/Xyz")にアクセスすると,アクセスエラーのページが表示されること.

また今後の確認のため多数の(30人程度)学生を登録する必要がある.手作業でこれを用意するのは大変であるため,これを用意するためのSQL文を用意した. これは人数分のINSERT文を実行するSQL文である.以下のボタンをクリックすることでコピーすることができる(_).

SQL文をコピーしたら,pgAdminでデータベース t8a_db を右クリックして「 Query Tool 」をクリックし,エディタにSQL文を貼り付けて実行する(_). このSQL文を実行したらプロジェクトを実行してみよう.StudentsコントローラーのIndexアクションにアクセスすると, _に示すように多数の学生が表示されるはずである.

SQL文によるデータの用意

ここまで準備ができてから次に進もう.

なお,今回やったように EF Core で構築したデータベースに,生のSQL文を実行することでデータを登録することも可能ではあるが, これは説明の都合上とった方法であって普通に用いる方法ではないことに注意せよ.この方法はどちらかというとバックアップしたデータベースを復元するのに用いる方法である. データベースにあらかじめ固定的なデータを用意する場合は,前章で説明したデータシーディングを用いるべきである.

Last updated on 2024-06-10
Published on 2024-06-10

Powered by Hugo. Theme by TechDoc. Designed by Thingsym.