情報応用演習Ⅰ(2024)

【T5b】モデルとデータベースの連携(後編)(2/8)

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

5b-2. 準備作業

本節の内容は前節の続きではあるが,差分が分かりやすいように前節で作成したプロジェクト T5a を, T5b という名前で複製して使用することにしよう.以前と同じ要領でプロジェクトを複製しよう.

プロジェクトを複製すると,データコンテキストクラスの名前や appsettings.json に記載されている 接続文字列のPostgreSQL側の接続ユーザー名/データベース名なども すべてプロジェクト名に合わせて変更されているはずである (__).

プロジェクトの複製結果とデータベースの準備

このため,前節の説明を参考にこの接続文字列に合わせて pgAdmin で接続ユーザーを作成しよう(_). また,コマンドラインターミナル1dotnet ef database update コマンドを実行してデータベースへの 反映も済ませておこう(_).

注意: コマンドラインターミナル1で,dotnet ef ~コマンドを実行する際は, 「操作対象のプロジェクトの プロジェクトフォルダ」をカレントディレクトリに設定しておく必要がある .カレントディレクトリの概念や確認方法,cdコマンドの使用方法などは 2年次の情報基礎演習で学んでいるはずであるためここでの説明は割愛する.

カレントディレクトリの操作に関してどうしてもわからない場合
カレントディレクトリの概念と確認方法

カレントディレクトリ (Current Directory),もしくは ワーキングディレクトリ (Working Directory)とは コマンドラインターミナルにおけるファイル操作で ファイルの場所を指定する際の起点となるファイルシステム上の位置 のことを意味する. 概念的には「 コマンドラインターミナルを操作する者が,現在『居る』フォルダ(≒ディレクトリ) 」とイメージすればよいだろう(_).

カレントディレクトリの概念

まずコマンドラインターミナル1で,カレントディレクトリを確認しよう. これはpwdコマンドなどを使用しても確認できるが,より簡単な方法はプロンプトの左側を見ることである. おそらくコマンドラインターミナルには現在_のように表示されているだろう2

ターミナルの表示
PS C:\Users\ユーザー名\source\repos\PIT5\T5a> 

このPSから>までの部分がカレントディレクトリのフルパスである .ソリューションの保存先によっては, _以外のパスが指定されている場合もあるだろう.いずれにせよ前節の通りに操作しその続きで作業を行っているならば, プロジェクトT5aプロジェクトフォルダ がカレントディレクトリに設定されているはずである. このように表示されている場合を,ここでは便宜上 【ケースA】 と呼ぶ. なお Linux と同じくpwdコマンドを実行しても確認することが可能である._の状態でpwdコマンドを実行すると _のようになるだろう.

pwdコマンドの実行結果
PS C:\Users\ユーザー名\source\repos\PIT5\T5a> pwd

Path
----
C:\Users\ユーザー名\source\repos\PIT5\T5a

一方,コマンドラインターミナル1を開きなおすなどした場合は プロンプトの左側には_ではなく_のように表示されているかもしれない.

ターミナルの表示
PS C:\Users\ユーザー名\source\repos\PIT5> 

これはそのソリューションの ソリューションフォルダ である.このように表示されている場合を,ここでは便宜上 【ケースB】 と呼ぶ.

Visual Studio のフォルダ構造

Visual Studio では,各プロジェクトに含まれるすべてのファイルはプロジェクトフォルダにすべて含まれており, またプロジェクトフォルダはソリューションフォルダに含まれている.T5aT5bという名前でコピーした直後の 状態を図示するのであれば_のようになる.まず現在のカレントディレクトリを確認したうえで 以下のいずれかの方法で cd コマンドを実行する必要がある.

【ケースA】の場合のcdコマンド
【ケースA】の場合のカレントディレクトリの移動

_のようにカレントディレクトリがプロジェクトT5aのプロジェクトフォルダに設定されている場合は, 「一つ上のフォルダの中にあるT5bフォルダ」に移動する必要がある.このためには_に示すように, _に示すコマンドを実行する.

カレントディレクトリの変更
> cd ..\T5b
【ケースB】の場合のcdコマンド
【ケースB】の場合のカレントディレクトリの移動

また_のようにカレントディレクトリがソリューションPIT5のソリューションフォルダに設定されている場合は, 「現在の場所(=カレントディレクトリ)の直下にあるT5bフォルダ」に移動する必要がある.このためにはこのためには_に示すように, _に示すコマンドを実行する.なお「.\」という指定は省略できるのでカレントディレクトリの直下にあるフォルダに 移動する場合は「cd フォルダ名」のように指定することも可能である.

カレントディレクトリの変更
> cd .\T5b

このようなカレントディレクトリのための操作に関しては今後の資料では一切説明しないので理解していない読者は,2年次の情報基礎演習の資料を読んで復習しておくこと

カレントディレクトリの操作に関してどうしてもわからない場合 : 閉じる

以下の3点を確認しておこう.

  1. pgAdmin で,実際にデータベース t5b_db が作られており前節と同じテーブルが作成されていること(_).
  2. スタートアッププロジェクトをT5bに変更してから実行すると,「学生一覧」のリンクを含むページが表示されること(_).
  3. ↑のリンクをクリックするとアクセスエラーのページが表示されること(_).
データベースの確認とプロジェクトの実行結果

以上を確認したら次へ進もう. なお 以降の実行結果の説明ではこのビューの「学生管理」のリンクをクリックして以降の画面遷移を説明している ので注意しよう.


  1. タブのタイトルは「開発用PowerShell」もしくは「Developer PowerShell」となっている. ↩︎ ↩︎ ↩︎ ↩︎

  2. なお,このページの表示上は バックスラッシュ (\)が円マーク(¥)として表示されているかもしれないが,歴史的経緯で日本語環境ではこれらの記号は同じものである.詳しくはYEN SIGN問題縁起 - yasuokaの日記 - スラドなどが参考になるだろう.. ↩︎

Last updated on 2024-05-10
Published on 2024-05-10

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