私はここで2つのことをしようとしています:
1. (デフォルトの)UserProfile テーブルに電子メール フィールドを追加します。魅力のように機能します。ユーザーは、ユーザー名と電子メールの両方を登録できます。
2.ユーザー名の代わりに電子メールを使用するようにログインを変更します。これも魅力のように機能します。
これが問題です。上記は、それらを分離した場合にのみ機能します。両方を使用するとすぐに、登録プロセスは次のエラーメッセージで失敗します。
Cannot insert the value NULL into column 'UserName', table 'opdb.dbo.UserProfile'; column does not allow nulls. INSERT fails.
WebSecurity.CreateUserAndAccount(model.UserName, model.Password, new { Email = model.Email
});
WebSecurity.Login(model.Email, model.Password);
ここにあるガイドに多かれ少なかれ従ってい ます。コメントセクションで、他の人が同じ問題を抱えているのを見ますが、解決策は、返信に記載されているように、UserNameフィールドをnullを許可するように設定しないことです.
奇妙なことに、両方を一緒に使用しない限り、すべてが機能します。何か案は?これは私を夢中にさせます!
前もって感謝します
編集:データベース内の列の順序でしょうか? 識別に使用されるフィールドは、テーブルの最初の列である必要がありますか? では、テーブルの最初の列にする必要がある ident として電子メールが必要な場合は?