C# 模型创建重复表的实体框架

C# 模型创建重复表的实体框架,c#,entity-framework,C#,Entity Framework,我使用ASP.NET Identity 2,EF代码首先创建5个表 dbo.AspNetRole dbo.AspNetUsers dbo.AspNetUsersClaim dbo.AspNetUsersLogin dbo.AspNetUsersRole 我需要更改名称,所以我使用了这段代码 protected override void OnModelCreating(DbModelBuilder modelBuilder) { base.OnModelCreating(modelBui

我使用ASP.NET Identity 2,EF代码首先创建5个表

dbo.AspNetRole

dbo.AspNetUsers

dbo.AspNetUsersClaim

dbo.AspNetUsersLogin

dbo.AspNetUsersRole

我需要更改名称,所以我使用了这段代码

protected override void OnModelCreating(DbModelBuilder modelBuilder) {
    base.OnModelCreating(modelBuilder);

    modelBuilder.Entity<IdentityUser>().ToTable("RepricerUsers", "miportal");
    modelBuilder.Entity<IdentityUserClaim>().ToTable("RepricerUsersClaim", "miportal");
    modelBuilder.Entity<IdentityUserLogin>().ToTable("RepricerUsersLogin", "miportal");
    modelBuilder.Entity<IdentityUserRole>().ToTable("RepricerUsersRole", "miportal");
    modelBuilder.Entity<IdentityRole>().ToTable("RepricerRole", "miportal");
}
模型创建时受保护的覆盖无效(DbModelBuilder modelBuilder){
基于模型创建(modelBuilder);
modelBuilder.Entity().ToTable(“ReperterUsers”、“miportal”);
modelBuilder.Entity().ToTable(“replicerUsersLaim”、“miportal”);
modelBuilder.Entity().ToTable(“repliceruserslogin”、“miportal”);
modelBuilder.Entity().ToTable(“replicerUsersRole”、“miportal”);
modelBuilder.Entity().ToTable(“RepercerRole”、“miportal”);
}
它可以工作,但是从
IdentityUser
创建的表是重复的,因此我找到了
dbo.AspNetUsers
miportal.reperceuser


为什么这张桌子是重复的?我遗漏了什么吗?

我也有类似的问题。您不能直接更改aspIdentity表名,因此应该使用从IdentityUser类继承的类来执行此操作。以下是我在我的一个项目中所做的操作。您可以将类名更改为任何您想要的名称。
型号

  public class User : IdentityUser
{
    public string Address { get; set;}//it can be any propery or you can leave class empty
}
配置类

 public sealed class UserConfig : EntityTypeConfiguration<User>
{
    public UserConfig()
    {
        ToTable("RepricerUsers", "miportal");
    }
}  

你的答案是对的,我最终得到了一个稍微不同的解决方案。我添加了
modelBuilder.Entity()
其中
ApplicationUser
继承自
IdentityUser
,因此两者都在同一个表上写入。您的方法很好。出于某些原因,我需要将ApplicationUser更改为User。没有区别,两者都解决了问题
     protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {

        base.OnModelCreating(modelBuilder);
        modelBuilder.Configurations.Add(new UserConfig());
    }