【ASP.NET MVC】 データベース構成の変更をモデルに反映させる方法【EF Database First】

こんにちは、Noyです。ASP.NET MVCでアプリを自作しながら勉強しています。

今回はデータベースファーストで作ったモデルにデータベースの変更を反映させる必要が出たので、調べたやり方を備忘録としてまとめたいと思います。

前提:私の環境

以下手順で作成したモデルを使用しています。

(1)新しい項目の追加>「ADO.NET Entity Data Model」を選択

(2)モデルのコンテンツの選択>「データベースからEF Designer」を選択

(3)データ接続の選択>作成済みのDB (DB名:YumeSetori)を選択

(4)データベースオブジェクトと設定の選択>「テーブル」にチェック

その結果、ソリューションエクスプローラーには以下のようにコンテキストとモデルが生成されています。

データベース構成を変更する

それでは本題です。今回はあるテーブルの列のデータ型を変えたいと思います。

(1)SSMSのオブジェクトエクスプローラー>テーブルの列で右クリック>「変更」を選択

(2)データ型を「date」から「char(10)」に変更

データベース構成の変更をモデルに反映

(1)デザイナー画面(edmx)を開く

(2)変更を反映させるテーブルの列をクリックしてプロパティを開く

(3)プロパティ>型を「DateTime」から「String」に変更する

※これをやらないと後の手順でエラーになります。

(4) デザイナー画面で右クリック>「データベースからモデルを更新」をクリック

(5)更新ウィザード>更新>更新したいテーブルを選択

これでモデルにもしっかり反映されます。

コメント

タイトルとURLをコピーしました