首页 > 后端开发 > C++ > 如何自定义 AspNet.Identity 表名称?

如何自定义 AspNet.Identity 表名称?

Linda Hamilton
发布: 2025-01-17 04:03:12
原创
404 人浏览过

How Can I Customize AspNet.Identity Table Names?

在 ASP.NET Identity 中自定义表名

在项目中使用 ASP.NET Identity 时,用户相关数据的默认表名前缀为“AspNet”。虽然这些名称可能适用于某些场景,但在某些情况下,您可能需要使用自定义表名。

重命名 AspNetUsers 表

要更改 AspNetUsers 表的名称,请重写 DbContext 中的 OnModelCreating 方法并提供新的表名:

<code class="language-csharp">protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
    base.OnModelCreating(modelBuilder);
    modelBuilder.Entity<IdentityUser>().ToTable("MyUsers");
}</code>
登录后复制

替换所有 AspNet 表名

要将所有 AspNet 表名替换为您自己的表名,请为每个实体提供自定义名称:

<code class="language-csharp">protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
    base.OnModelCreating(modelBuilder);

    modelBuilder.Entity<IdentityUser>().ToTable("MyUsers").Property(p => p.Id).HasColumnName("UserId");
    modelBuilder.Entity<ApplicationUser>().ToTable("MyUsers").Property(p => p.Id).HasColumnName("UserId");
    modelBuilder.Entity<IdentityUserRole>().ToTable("MyUserRoles");
    modelBuilder.Entity<IdentityUserLogin>().ToTable("MyUserLogins");
    modelBuilder.Entity<IdentityUserClaim>().ToTable("MyUserClaims");
    modelBuilder.Entity<IdentityRole>().ToTable("MyRoles");
}</code>
登录后复制

注意:

  • 必须在创建表之前更改表名。
  • 如果默认表已存在,您可能需要手动删除并重新创建它们。
  • 确保更新依赖于默认表名的任何代码或引用。

以上是如何自定义 AspNet.Identity 表名称?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板