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

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

Linda Hamilton
Linda Hamilton原创
2025-01-17 04:03:12442浏览

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn