我正在尝试使用几个额外的字段来自定义IdentityUser
public class User : IdentityUser
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
并更改表格的名称
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<IdentityUser>().ToTable("Auth_Users", "web");
modelBuilder.Entity<User>().ToTable("Auth_Users", "web");
}
非常简单,有效,我有我的桌子web.Auth_Users
。不好的是,包含用户ID的其他表(AspNetUsersClaim
,AspNetUserLogins
和AspNetUsersRole
添加了一个名为IdentityUser_Id
的列,该列始终设置为NULL
为什么呢?它来自哪里,如何避免它被创建?
答案 0 :(得分:2)
由于此行modelBuilder.Entity<IdentityUser>().ToTable("Auth_Users", "web");
删除它。最后你必须有这个代码:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<User>().ToTable("Auth_Users", "web");
}