chi*_*s0v 5 c# sql asp.net-mvc entity-framework asp.net-identity
我重命名了标准身份表:
public class User : IdentityUser
{
//...
public string Name { get; set; }
public string Surname { get; set; }
public DateTime? RegisteredDate { get; set; }
public DateTime? LastLoginDate { get; set; }
//...
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<IdentityUser>().ToTable("Users");
modelBuilder.Entity<User>().ToTable("Users");
modelBuilder.Entity<IdentityRole>().ToTable("Roles");
modelBuilder.Entity<Role>().ToTable("Roles");
modelBuilder.Entity<IdentityUserRole>().ToTable("UserRoles");
modelBuilder.Entity<IdentityUserLogin>().ToTable("UserLogins");
modelBuilder.Entity<IdentityUserClaim>().ToTable("UserClaims");
}
Run Code Online (Sandbox Code Playgroud)
并得到这个:
我需要做什么才能modelBuilder
删除此专栏?
该Discriminator
列在 Table-Per-Hierarchy 继承场景中使用且必需。
Code First 必须添加一个特殊的列来区分持久类。这是\xe2\x80\x99t 对象模型中持久类的一个属性;it\xe2\x80\x99s 由 EF Code First 内部使用。默认情况下,列名称为Discriminator
,类型为字符串。这些值默认为持久类名称 \xe2\x80\x94(在本例中为 )User
。
\n更多信息
更新
\n\n如果您不想要该列,您可以通过在上下文中添加 a 来使User
模型成为模型的一部分:IdentityUser
DbSet<User>
modelBuilder.Entity<User>().ToTable("Users");\n
Run Code Online (Sandbox Code Playgroud)\n