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,因此 AspNetUsersClaim
、AspNetUserLogins
和 AspNetUsersRole
,添加一个名为 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");
}
我正在尝试使用几个额外字段自定义 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,因此 AspNetUsersClaim
、AspNetUserLogins
和 AspNetUsersRole
,添加一个名为 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");
}