Я работаю над 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 самостоятельно. Есть ли более элегантный способ решить эту проблему?