CodeZine(コードジン)

特集ページ一覧

ASP.NET Identityのプロファイル情報のカスタマイズ

ASP.NET Identity入門 第3回

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2014/07/04 14:00
目次

データベースのユーザー情報テーブルの変更

 次に、先ほど追加したプロファイル情報を永続化するため、データベースのユーザー情報テーブルにも対応する項目を追加します。手作業で項目を追加することもできますが、せっかくASP.NET IdentityがEntity Framework(以下EF)を使用していますので、EFの「マイグレーション機能」(*1)を使って対応してみましょう。

*1)マイグレーション機能

 データベースに登録されたデータは残しつつ、構造を変更する機能です。マイグレーション機能を使うと、データ移行用のSQLスクリプトをツールで生成、実行することができます。

マイグレーション機能の有効化

 EFのマイグレーション機能は、「NuGetパッケージマネージャーコンソール」からコマンドを実行して処理を行います。そのため、まずは以下のコマンドを実行してマイグレーション機能を有効にする必要があります。

Enable-Migrations
図1 Enable-Migrationsコマンド実行結果
図1 Enable-Migrationsコマンド実行結果

 コマンドを実行すると、プロジェクト内にMigrationsフォルダーが作成され、マイグレーションに必要なコードが自動生成されます(図1)。

図2 マイグレーション用コード生成結果
図2 マイグレーション用コード生成結果

 これらのコードはツールが実行するため、とりあえずはその中身を理解する必要はありません。

プロファイル情報追加用マイグレーションファイル生成

 次に先ほど変更したApplicationUserクラスを元にマイグレーションを実行するためのファイルを生成します。そのために、次のコマンドを同じくパッケージマネージャーコンソールで実行します(図3)。

Add-Migration "Customize profile"
図3 Add-Migrationコマンド実行結果
図3 Add-Migrationコマンド実行結果

 コマンドを実行すると、Migrationsフォルダーにプロファイル情報の追加を行うマイグレーションを実行するためのファイルが生成されます(図4)。Add-Migrationコマンドの引数"Customize profile"は、このファイルの名前、およびファイル内で定義されるマイグレーション用クラスの名前に使用されるため、分かりやすい名前を指定することをお勧めします。

図4 プロファイル情報追加マイグレーション用コード生成結果
図4 プロファイル情報追加マイグレーション用コード生成結果

マイグレーション実行

 ここまででマイグレーションを行う準備が整いました。あとは、次のコマンドをパッケージマネージャーコンソールで実行すれば、マイグレーションが実行されます(図5)。

Update-Database
図5 Update-Databaseコマンド実行結果
図5 Update-Databaseコマンド実行結果

 マイグレーションが成功すると、データベースのAspNetUsersテーブルに姓、名、誕生日の項目が追加されます(図5)。追加された項目のデータ型、Nullを許容など、ApplicationUserクラスに追加したプロパティに対応したものが選ばれていることが確認できます。

図6 ユーザー情報テーブル変更結果
図6 ユーザー情報テーブル変更結果

  • LINEで送る
  • このエントリーをはてなブックマークに追加

バックナンバー

連載:ASP.NET Identity入門

もっと読む

著者プロフィール

  • WINGSプロジェクト 高野 将(タカノ ショウ)

    <個人紹介> 新潟県長岡市在住の在宅リモートワークプログラマー。家事や育児、仕事の合間に長岡IT開発者勉強会(NDS)、Niigata.NET、TDDBCなどのコミュニティに関わったり、Web記事や書籍などの執筆を行ったりしている。著書に『アプリを作ろう! Visual C#入門 Visual C...

  • 山田 祥寛(ヤマダ ヨシヒロ)

    静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for ASP/ASP.NET。執筆コミュニティ「WINGSプロジェクト」代表。 主な著書に「入門シリーズ(サーバサイドAjax/XM...

あなたにオススメ

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5