2015-12-30 3 views

ответ

3

Изменить Строитель объекты в OnModelCreating вашего ApplicationDbContext, используя ForSqlServerToTable метода расширения, чтобы изменить нужную таблицу (ы).

public class ApplicationDbContext : IdentityDbContext<ApplicationUser> 
    { 
     protected override void OnModelCreating(ModelBuilder builder) 
     { 
      base.OnModelCreating(builder); 
      // Customize the ASP.NET Identity model and override the defaults if needed. 
      // For example, you can rename the ASP.NET Identity table names and more. 
      // Add your customizations after calling base.OnModelCreating(builder); 

      builder.Entity<ApplicationUser>().ForSqlServerToTable("Users"); 
      builder.Entity<IdentityUserRole<string>>().ForSqlServerToTable("UserRoles"); 
      builder.Entity<IdentityUserLogin<string>>().ForSqlServerToTable("UserLogins"); 
      builder.Entity<IdentityUserClaim<string>>().ForSqlServerToTable("UserClaims"); 
      builder.Entity<IdentityRole>().ForSqlServerToTable("Roles");       
     } 
    } 
+0

работал для меня с простым старым 'ToTable' вместо' ForSqlServerToTable'. (хотя я использовал идентификатор ядра asp.net с проектом примера ядра dotnet, поэтому, возможно, вам не поможет) – Terminus

4

Вы можете легко сделать это, изменив отображение сущности с методом расширения ToTable("TableName") на OnModelCreating из ваших DbContext:

И вам не нужно использовать .ForSqlServerToTable(), просто .ToTable() должны работать в любой базе данных.

protected override void OnModelCreating(ModelBuilder builder) 
{ 
    base.OnModelCreating(builder); 

    builder.Entity<User>().ToTable("Users"); // Your custom IdentityUser class 
    builder.Entity<IdentityUserLogin<string>>().ToTable("UserLogins"); 
    builder.Entity<IdentityUserToken<string>>().ToTable("UserTokens"); 
    builder.Entity<IdentityUserClaim<string>>().ToTable("UserClaims"); 
    builder.Entity<IdentityUserRole<string>>().ToTable("UserRoles"); 
    builder.Entity<IdentityRoleClaim<string>>().ToTable("RoleClaims"); 
    builder.Entity<IdentityRole>().ToTable("Roles");    
} 

Единственная загвоздка здесь стоит помнить, чтобы использовать дженерики с типом вашего идентификатора (строка по умолчанию на AspNetCore.

Смежные вопросы