ASP.NET MVC 4 웹 응용 프로그램에서 작업 중입니다. WebSecurity.CreateUserAndAccount를 사용하여 사용자 및 계정을 만든 후이 사용자와 계속 작업하고 싶습니다. 그를 다른 모델의 외래 키로 사용하기 위해서.WebSecurity.CreateUserAndAccount 생성 된 사용자에 대한 참조를 얻습니다.
한 가지 방법은 UserProfile에 사용자 지정 UserId를 지정하고이 UserId를 사용하여 사용자를 쿼리하는 것입니다. 예 :
...
try
{
int CustomUserId = Rnd.Next(1000000, 9999999);
WebSecurity.CreateUserAndAccount(RegisterModel.UserName, RegisterModel.Passwordword,
propertyValues: new { UserId = CustomUserId });
WebSecurity.Login(UserName, Password);
var UserProfile = (from UserProf in _db.UserProfiles
where UserProf.UserId == CustomUserId
select UserProf).FirstOrDefault();
CustomModel cm = new CustomModel();
cm.User = UserProfile;
//Add cm to database an so on...
return RedirectToAction("Index", "Home");
}
catch (MembershipCreateUserException e)
{
//Bla...
}
...
이것은 꽤 우아합니다. 특히 독자적으로 UserId를 유지 관리하기 때문에. 이 문제를 해결할 더 우아한 방법이 있습니까?