我正在研究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(...)
?
那么,如何在不重复创建用户的情况下向数据库添加内容?