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