1-できればEntityFramework5を使用して移行を有効にする必要があります
2-移動します
WebSecurity.InitializeDatabaseConnection("DefaultConnection", "UserProfile", "UserId", "EmailAddress", autoCreateTables: true);
YourMvcApp / Migrations/Configuration.csクラスのSeedメソッドに
protected override void Seed(UsersContext context)
{
WebSecurity.InitializeDatabaseConnection(
"DefaultConnection",
"UserProfile",
"UserId",
"UserName", autoCreateTables: true);
if (!Roles.RoleExists("Administrator"))
Roles.CreateRole("Administrator");
if (!WebSecurity.UserExists("lelong37"))
WebSecurity.CreateUserAndAccount(
"lelong37",
"password",
new {Mobile = "+19725000000", IsSmsVerified = false});
if (!Roles.GetRolesForUser("lelong37").Contains("Administrator"))
Roles.AddUsersToRoles(new[] {"lelong37"}, new[] {"Administrator"});
}
これで、EF5がUserProfileテーブルの作成を担当します。その後、WebSecurity.InitializeDatabaseConnectionを呼び出して、SimpleMembershipProviderを作成済みのUserProfileテーブルにのみ登録し、SimpleMembershipProviderにUserIdとUserNameの列を通知します。また、ユーザー、ロールを追加し、Seedメソッドで2つをカスタムUserProfileプロパティ/フィールド(ユーザーのモバイル(番号)やIsSmsVerifiedなど)に関連付ける方法の例も示しています。
3-パッケージマネージャーコンソールからupdate-databaseを実行すると、EF5はすべてのカスタムプロパティを使用してテーブルをプロビジョニングします
その他の参考資料については、ソースコードを含むこの記事を参照してください:http:
//blog.longle.net/2012/09/25/seeding-users-and-roles-with-mvc4-simplemembershipprovider-simpleroleprovider-ef5-codefirst-and-custom -user-properties /