SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

ASP.NET Identity入門

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

ASP.NET Identity入門 第3回

  • X ポスト
  • このエントリーをはてなブックマークに追加

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

 次に、先ほど追加したプロファイル情報を永続化するため、データベースのユーザー情報テーブルにも対応する項目を追加します。手作業で項目を追加することもできますが、せっかく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 ユーザー情報テーブル変更結果

次のページ
ユーザー情報管理画面の変更

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
ASP.NET Identity入門連載記事一覧

もっと読む

この記事の著者

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

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

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

<個人紹介>新潟県長岡市在住の在宅リモートワークプログラマー。家事や育児、仕事の合間に長岡IT開発者勉強会(NDS)、Niigata.NET、TDDBCなどのコミュニティに関わったり、Web記事や書籍などの執筆を行ったりしている。著書に『アプリを作ろう! Visual C#入門 Visual C# 2017対応』(日経BP社、2017)など。<WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS Twitter: @yyamada(公式)、@yyamada/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/7845 2014/07/04 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング