ASP.NET ID テーブル名のカスタマイズ
ASP.NET Identity は、「AspNet」というプレフィックスが付いたデフォルトのテーブル名を使用します。 この記事では、アプリケーションの命名規則に合わせてこれらの名前をカスタマイズする方法を説明します。
方法 1: アイデンティティ モデルを拡張する
テーブル名を変更するには、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>
方法 2: 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 ID テーブル名をカスタマイズするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。