protected override void OnModelCreating(ModelBuilder builder) { base.OnModelCreating(builder); #region Rename default Identity Table Names builder.HasDefaultSchema("public"); builder.Entity <RoleClaim>(builder => { //builder.HasOne(roleClaim => roleClaim.Role).WithMany(role => role.Claims).HasForeignKey(roleClaim => roleClaim.RoleId); //builder.Property(x => x.RoleId).HasColumnName("RoleId"); //Prevent replicating same name builder.ToTable("RoleClaim", schema: IdentitySchemaName); }); builder.Entity <Role>(builder => { builder.ToTable("Role", schema: IdentitySchemaName); }); builder.Entity <UserClaim>(builder => { //builder.HasOne(userClaim => userClaim.User).WithMany(user => user.Claims).HasForeignKey(userClaim => userClaim.UserId); builder.ToTable("UserClaim", schema: IdentitySchemaName); }); builder.Entity <UserLogin>(builder => { //builder.HasOne(userLogin => userLogin.User).WithMany(user => user.Logins).HasForeignKey(userLogin => userLogin.UserId); builder.ToTable("UserLogin", schema: IdentitySchemaName); }); builder.Entity <User>(builder => { builder.ToTable("User", schema: IdentitySchemaName); }); builder.Entity <UserRole>(builder => { //builder.HasOne(userRole => userRole.Role).WithMany(role => role.Users).HasForeignKey(userRole => userRole.RoleId); //builder.HasOne(userRole => userRole.User).WithMany(user => user.Roles).HasForeignKey(userRole => userRole.UserId); builder.ToTable("UserRole", schema: IdentitySchemaName); }); builder.Entity <UserToken>(builder => { //builder.HasOne(userToken => userToken.User).WithMany(user => user.UserTokens).HasForeignKey(userToken => userToken.UserId); builder.ToTable("UserToken", schema: IdentitySchemaName); }); #endregion #region Data Seeding if (Environment.IsDevelopment()) { using (SeedController seeder = new SeedController(builder)) { seeder.Execute(); } } #endregion }