我已经设置了Identity,因此我为用户配置文件数据( firstname,lastname等。)提供了单独的表。
问题是我通过Email
字段加入了这些表格
我想更改此内容,以便我可以通过UserID
连接表格
我需要的是为创建的用户获取新的userID
并将其用作UserProfileInfo
对象的外键。
public class ApplicationUser : IdentityUser<int, ApplicationUserLogin, ApplicationUserRole, ApplicationUserClaim>
{
public string Email { get; set; }
public string ConfirmationToken { get; set; }
public bool IsConfirmed { get; set; }
public virtual UserProfileInfo UserProfileInfo { get; set; }
}
public class UserProfileInfo
{
public int Id { get; set; }
public string EmailId { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
当我创建新用户时,我有:
var user = new ApplicationUser()
{
UserName = model.UserName,
Email = model.Email,
ConfirmationToken = confirmationToken,
IsConfirmed = false,
UserProfileInfo = new UserProfileInfo { EmailId = model.Email }
};
var result = await UserManager.CreateAsync(user, model.Password);
if (result.Succeeded)
{
SendEmailConfirmation(model.Email, model.UserName, confirmationToken);
return RedirectToAction("RegisterStepTwo", "Account");
}
else...
答案 0 :(得分:3)
你为什么要首先加入? ApplicationUser
是您的用户,从IdentityUser
继承的全部内容是允许您扩展用户对象。只需将FirstName
和LastName
等属性直接放在ApplicationUser
上即可。