从 IdentityUser 继承时如何创建新用户

how to create a new user when inheriting from IdentityUser

我有以下 class 派生自 IdentityUser。 Person class 存储在数据库的 AspNetUsers table 中,在数据库端看起来一切正常。

public class Person : IdentityUser
{
    [Required]
    [StringLength(50, ErrorMessage = "First name cannot be longer than 50 characters.")]
    public string FirstName { get; set; }

    [Required]
    [StringLength(150, ErrorMessage = "Last name cannot be longer than 150 characters.")]
    public string LastName { get; set; }
}

我的问题是关于创建一个有名字和姓氏的新用户(人)。我想,首先我需要这样做:

var user = new IdentityUser() { UserName = "testing" };
IdentityResult result = userManager.Create(user,"123456");

这将向 AspNetUsers table 插入一个新行,其名字和姓氏字段为空。然后,通过使用 LinQ,我需要更新现有记录的名字和姓氏字段。这种做法合理吗?还有其他推荐的方法吗?

由于 Person 是一个 IdentityUser,只需执行以下操作:

var user = new Person() { UserName = "xx", Firstname = "xy", Lastname = "yy" };
IdentityResult result = userManager.Create(user, "p@ssword");

这应该可以处理所有必要的事情。