0

ASP.NET MVC 4 Web アプリケーションに取り組んでいます。次のコードでは、UserProfile テーブルにユーザーが 2 回作成されます。

...
WebSecurity.CreateUserAndAccount(UserName, Password);


var UserProfile = (from UserProf in _db.Users
                   where UserProf.UserName == UserName
                   select UserProf).FirstOrDefault();

UserCustomAttribute = new UserCustomAttribute();
UserCustomAttribute.UserProfile = UserProfile;
UserCustomAttribute.Name = "BelongsToAccountId";
UserCustomAttribute.Value = model.AgentModel.AccountId;

using (db = new xDb())
{
    db.UserCustomAttributes.Add(UserCustomAttribute);
    db.SaveChanges();
}
...

VS2012 デバッグ機能を使用して、呼び出し時に 1 つのエントリが作成されることを発見しました

WebSecurity.CreateUserAndAccount(UserName, Password);

そして、呼び出し時に複製が作成されます

db.SaveChanges();

これは奇妙です。SaveChanges()私はそれが呼び出されることを期待しCreateUserAndAccount(...)ますか?! では、作成したユーザーを複製せずにデータベースに何かを追加する方法は?

4

0 に答える 0