首页 >后端开发 >C++ >如何自定义 ASP.NET 身份表名称?

如何自定义 ASP.NET 身份表名称?

Patricia Arquette
Patricia Arquette原创
2025-01-17 03:51:09169浏览

How to Customize ASP.NET Identity Table Names?

自定义 ASP.NET 身份表名称

ASP.NET Identity 使用以“AspNet”为前缀的默认表名称。 本文介绍如何自定义这些名称以适合您的应用程序的命名约定。

方法一:扩展身份模型

要更改表名称,请扩展 IdentityModel.cs 文件并覆盖 OnModelCreating 中的 DbContext 方法。使用 EntityTypeConfiguration<T> 定义自定义表名称。

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

    modelBuilder.Entity<IdentityUser>().ToTable("MyUsers");
    modelBuilder.Entity<ApplicationUser>().ToTable("MyUsers"); // If ApplicationUser extends IdentityUser
}</code>

方法二:直接修改DbContext

或者,直接修改您的 DbContext 类:

<code class="language-csharp">public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
    public ApplicationDbContext() : base("DefaultConnection") { }

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

        modelBuilder.Entity<IdentityUser>().ToTable("MyUsers");
        modelBuilder.Entity<ApplicationUser>().ToTable("MyUsers");
        modelBuilder.Entity<IdentityUserRole>().ToTable("MyUserRoles");
        modelBuilder.Entity<IdentityUserLogin>().ToTable("MyUserLogins");
        modelBuilder.Entity<IdentityUserClaim>().ToTable("MyUserClaims");
        modelBuilder.Entity<IdentityRole>().ToTable("MyRoles");
    }
}</code>

这两种方法都删除了“AspNet”前缀,允许您使用您喜欢的表名称。 选择最适合您的项目结构的方法。

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

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