Boost」など、さまざまなカンファレンスを企画・運営しています。BOOKS(コードジン・ブックス)は、CodeZineの連載からカットアップした、開発現場の課題解決に役立つ書籍シリーズです。次に、先ほど追加したプロファイル情報を永続化するため、データベースのユーザー情報テーブルにも対応する項目を追加します。Framework(以下EF)を使用していますので、EFの「マイグレーション機能」(*1)を使って対応してみましょう。*1)マイグレーション機能データベースに登録されたデータは残しつつ、構造を変更する機能です。マイグレーション機能を使うと、データ移行用のSQLスクリプトをツールで生成、実行することができます。マイグレーション機能の有効化EFのマイグレーション機能は、「NuGetパッケージマネージャーコンソール」からコマンドを実行して処理を行います。そのため、まずは以下のコマンドを実行してマイグレーション機能を有効にする必要があります。Enable-Migrationsコマンド実行結果コマンドを実行すると、プロジェクト内にMigrationsフォルダーが作成され、マイグレーションに必要なコードが自動生成されます(図1)。マイグレーション用コード生成結果これらのコードはツールが実行するため、とりあえずはその中身を理解する必要はありません。次に先ほど変更したApplicationUserクラスを元にマイグレーションを実行するためのファイルを生成します。そのために、次のコマンドを同じくパッケージマネージャーコンソールで実行します(図3)。Add-Migrationコマンド実行結果コマンドを実行すると、Migrationsフォルダーにプロファイル情報の追加を行うマイグレーションを実行するためのファイルが生成されます(図4)。profile"は、このファイルの名前、およびファイル内で定義されるマイグレーション用クラスの名前に使用されるため、分かりやすい名前を指定することをお勧めします。プロファイル情報追加マイグレーション用コード生成結果マイグレーション実行ここまででマイグレーションを行う準備が整いました。あとは、次のコマンドをパッケージマネージャーコンソールで実行すれば、マイグレーションが実行されます(図5)。Update-Databaseコマンド実行結果マイグレーションが成功すると、データベースのAspNetUsersテーブルに姓、名、誕生日の項目が追加されます(図5)。追加された項目のデータ型、Nullを許容など、ApplicationUserクラスに追加したプロパティに対応したものが選ばれていることが確認できます。NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Technologies。執筆コミュニティ「WINGSプロジェクト」代表。ショウ)<個人紹介>新潟県長岡市在住の在宅リモートワークプログラマー。家事や育児、仕事の合間に長岡IT開発者勉強会(NDS)、Niigata.NET、TDDBCなどのコミュニティに関わったり、Web記事や書籍などの執筆を行ったりしている。2017対応』(日経BP社、2017)など。