0

我正在开发一个 ASP.NET MVC 4 Web 应用程序。以下代码导致将在 UserProfile 表中创建两次用户。

...
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调试功能,发现调用时创建了一个入口

WebSecurity.CreateUserAndAccount(UserName, Password);

并且,调用时会创建副本

db.SaveChanges();

这很奇怪。我希望这SaveChanges()被称为CreateUserAndAccount(...)?!那么,如何在不复制创建用户的情况下向数据库添加内容呢?

4

0 回答 0