Asp.net 身份 2 自定义用户和自定义 table 名称

Asp.net Identity 2 custom user and custom table name

我正在尝试使用几个额外字段自定义 IdentityUser

public class User : IdentityUser 
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
}

并更改 table

的名称
protected override void OnModelCreating(DbModelBuilder modelBuilder) 
{
    base.OnModelCreating(modelBuilder);
    modelBuilder.Entity<IdentityUser>().ToTable("Auth_Users", "web");
    modelBuilder.Entity<User>().ToTable("Auth_Users", "web");
}

非常简单,有效,我有我的 table web.Auth_Users。不好的是其他 tables 包含用户 ID,因此 AspNetUsersClaimAspNetUserLoginsAspNetUsersRole,添加一个名为 IdentityUser_Id 的列,该列始终设置为NULL

为什么?它从哪里来,我怎样才能避免它被创建?

因为这一行,你得到了这个奇怪的专栏 modelBuilder.Entity<IdentityUser>().ToTable("Auth_Users", "web");

只需删除它。最后你必须有这个代码:

protected override void OnModelCreating(DbModelBuilder modelBuilder) 
{
    base.OnModelCreating(modelBuilder);
    modelBuilder.Entity<User>().ToTable("Auth_Users", "web");
}