加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 覆盖默认身份表名称

发布时间:2020-12-16 06:33:50 所属栏目:asp.Net 来源:网络整理
导读:我想重命名默认的身份表名称: AspNetRoles AspNetUserClaims AspNetUserLogins AspNetUserRoles AspNetUsers 我了解如何使用EF6执行此操作: protected override void OnModelCreating(System.Data.Entity.DbModelBuilder modelBuilder) { base.OnModelCrea
我想重命名默认的身份表名称:

> 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");
    }

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

解决方法

您必须在SqlServerPropertyBuilder中使用ForSqlServer或ForRelational来更改列名,并在modelBuilder中更改表名

modelBuilder.Entity<IdentityUser>()
                .Property(o => o.Id)
                .ForSqlServer()
                .Column("User_Id")

 modelBuilder.Entity<IdentityUser>()
                    .ForSqlServer()
                    .Table("User")

更新:对于beta 5,使用ForSqlServer不再强制要求

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读