身份框架 - 如何通过UserID加入另一个配置文件表

时间:2014-05-13 19:55:43

标签: asp.net asp.net-mvc asp.net-identity

我已经设置了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...

1 个答案:

答案 0 :(得分:3)

你为什么要首先加入? ApplicationUser 是您的用户,从IdentityUser继承的全部内容是允许您扩展用户对象。只需将FirstNameLastName等属性直接放在ApplicationUser上即可。