相关疑难解决方法(0)

如何在使用ASP.NET标识时更改表名?

我正在使用Visual Studio 2013的发布版本(RTM,而不是RC)(从MSDN 2013-10-18下载),因此使用AspNet.Identity的最新版本(RTM).当我创建一个新的Web项目时,我选择"个人用户帐户"进行身份验证.这将创建以下表:

  1. AspNetRoles
  2. AspNetUserClaims
  3. AspNetUserLogins
  4. AspNetUserRoles
  5. AspNetUsers

当我注册一个新用户(使用默认模板)时,会创建这些表(如上所列),并且AspNetUsers表中插入了一条记录,其中包含:

  1. ID
  2. 用户名
  3. PasswordHash
  4. SecurityStamp
  5. 鉴别

此外,通过向"ApplicationUser"类添加公共属性,我已成功向AspNetUsers表添加了其他字段,例如"FirstName","LastName","PhoneNumber"等.

这是我的问题.有没有办法更改上面表格的名称(首次创建时)或者它们是否总是以AspNet我上面列出的前缀命名?如果表名可以不同的名称,请解释如何.

- 更新 -

我实施了@Hao Kung的解决方案.它确实创建了一个新表(例如我称之为MyUsers),但它仍然创建了AspNetUsers表.目标是用"MyUsers"表替换"AspNetUsers"表.请参阅下面的代码和创建的表的数据库图像.

我实际上想AspNet用我自己的名字替换每个表...例如,MyRoles,MyUserClaims,MyUserLogins,MyUserRoles和MyUsers.

我如何实现这一目标,最终只有一组表格?

public class ApplicationUser : IdentityUser
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string Address1 { get; set; }
    public string Address2 { get; set; }
    public string City { get; set; }
    public string State { get; set; }
    public string PostalCode { …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-identity

206
推荐指数
5
解决办法
9万
查看次数

如何在.NET CORE中更改默认的ASP.NET标识表名称?

我已经开始使用.NET Core,在MVC 5中我更改了默认表名称,例如:AspNETUsers以这种方式运行到用户并且它运行良好:在IdentityModels类中我dded:

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

        modelBuilder.Entity<IdentityUser>().ToTable("Users").Property(p => p.Id).HasColumnName("UserId");
        modelBuilder.Entity<ApplicationUser>().ToTable("Users").Property(p => p.Id).HasColumnName("UserId");
        modelBuilder.Entity<IdentityUserRole>().ToTable("UserRoles");
        modelBuilder.Entity<IdentityUserLogin>().ToTable("UserLogins");
        modelBuilder.Entity<IdentityUserClaim>().ToTable("UserClaims");
        modelBuilder.Entity<IdentityRole>().ToTable("Roles");
    }
Run Code Online (Sandbox Code Playgroud)

但它在.NET CORE(MVC 6)中不起作用.谁能帮我?非常感谢.

asp.net-mvc identity asp.net-core

19
推荐指数
5
解决办法
1万
查看次数

如何更改asp.net identity 3(vnext)使用的表名?

在asp.net身份2中用于更改身份表名称的方法在asp.net身份3中不起作用.

asp.net asp.net-identity asp.net-identity-3

5
推荐指数
1
解决办法
1907
查看次数

覆盖默认身份表名称

我想重命名默认的身份表名称:

  • AspNetRoles
  • AspNetUserClaims
  • AspNetUserLogins
  • AspNetUserRoles
  • AspNetUsers

我了解如何使用EF6执行此操作:

 protected override void OnModelCreating(System.Data.Entity.DbModelBuilder modelBuilder)
    {
        base.OnModelCreating(modelBuilder);
        modelBuilder.Entity<IdentityUser>()
            .ToTable("Users", "dbo").Property(p => p.Id).HasColumnName("User_Id");
        modelBuilder.Entity<User>()
            .ToTable("Users", "dbo").Property(p => p.Id).HasColumnName("User_Id");
    }
Run Code Online (Sandbox Code Playgroud)

然而,我正在努力使用EF7,因为DbModelBuilder已被ModelBuilder取代.有什么建议?

asp.net-mvc entity-framework-core asp.net-core-mvc asp.net-core

4
推荐指数
1
解决办法
2893
查看次数