使用Entity Framework 6

时间:2017-11-17 09:15:10

标签: asp.net oracle entity-framework asp.net-identity identity

要在Oracle中使用ASP.NET Identity,我必须特别重命名表名称schema name。我使用以下代码更改其名称:

Conext code

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

    modelBuilder.Entity<IdentityUser>().ToTable("TRN_ASPNET_USERS", "ADMIN");
    modelBuilder.Entity<ApplicationUser>().ToTable("TRN_ASPNET_USERS", "ADMIN");
    modelBuilder.Entity<IdentityUserRole>()
            .HasKey(r => new { r.UserId, r.RoleId })
            .ToTable("TRN_ASPNET_USER_ROLES", "ADMIN");
    modelBuilder.Entity<IdentityUserLogin>()
            .HasKey(l => new { l.LoginProvider, l.ProviderKey, l.UserId })
            .ToTable("TRN_ASPNET_USER_LOGINS", "ADMIN");
    modelBuilder.Entity<IdentityUserClaim>().ToTable("TRN_ASPNET_USER_CLAIMS", "ADMIN");
    modelBuilder.Entity<IdentityRole>().ToTable("TRN_ASPNET_ROLES", "ADMIN");

    base.OnModelCreating(modelBuilder);
}

当我还在使用Micorsoft SQL Server时,我最终得到了什么。有新创建的表,就像我更改名称的表。但旧表名仍然存在(在重新创建数据库之后)。 Identity框架使用旧表并将数据存储在旧表中 - 而不是在新表中。

因此表名称已更改,但旧表仍然存在且正在使用。请帮忙。

SQL tables

0 个答案:

没有答案