【T8a】多対多のリレーションシップ(6/8)
プロジェクトタイプ | (注意: 本文参照) |
---|---|
プロジェクト名 | T8a |
ソリューション名 | PIT8 |
注意
- 本ページの作業内容は 前のページまでの続き になっていることに注意せよ.
- 先に前のページまでをすべて読み,指示されている作業を済ませてから本ページを読むこと.
- プロジェクトの作成作業については準備作業を参照せよ.
8a-6. 新たなモデルクラスの作成
まずは「サークル」を表すモデルクラスを作成してみよう.この「サークル」の情報には_に示す項目を含めることにしよう. 主キーとサークル名,そして任意でサークルの説明を含むエンティティである.
項目名 | 必須/任意 | データ型 | 備考 |
---|---|---|---|
ID | 必須 | 整数 | サークルのID. |
名前 | 必須 | 文字列 | サークル名. |
説明 | 任意 | 文字列 | サークルの説明. |
この「サークル」に対応するモデルクラスを定義しよう.クラス名は「サークル」の英語綴りであるCircle
とする.
まずプロジェクト内の Models フォルダを右クリックし,「追加」→「クラス」をクリックする.
作成するクラス名を訊かれるのでCircle
(.csは省略可能)と入力して「追加」ボタンをクリックする.
すると空のクラス定義が作られるので_の定義を書き込もう.
|
|
このクラスがデータベース側に反映されるようにするには,データコンテキストクラスにも手を加える必要がある. Data/T8aContext.cs に_に示す内容を追記しよう.
|
|
この時点で既存のほかのどのモデルクラスと独立な「サークル」というエンティティを追加したのみで, まだいかなるリレーションシップも設定していないが,ここまでをデータベースに反映させておこう. コマンドラインターミナル1で_に示すコマンドを実行して, マイグレーションコードの生成とデータベースへの反映を行ってみよう(_).
PS>
dotnet ef migrations add AddCirclePS>
dotnet ef database update
実行したら pgAdmin でデータベースの変化も確認しておこう. pgAdmin を起動するか,もしくは pgAdmin がすでに起動中の場合は 「 Servers 」→「 PostgreSQL 16 」→「 Databases 」を右クリックして「 Refresh 」を実行する. 「 Databases 」→「 t8a_db 」→「 Schemas 」→「 public 」→「 Tables 」に,新たなテーブル「 Circles 」が 追加されていることを確認しておこう(_).
タブのタイトルは「開発用PowerShell」もしくは「Developer PowerShell」となっている. ↩︎