自訂 ASP.NET 身份表名稱
ASP.NET Identity 預設會產生前綴為「AspNet」的表。 這可能與您的專案的命名約定發生衝突。 本指南展示如何自訂這些表名稱。
修改OnModelCreating
更改 Identity 的表名稱的關鍵在於重寫 OnModelCreating
類別中的 DbContext
方法。此方法允許您配置資料模型並指定自訂表名稱。
下面的範例示範了將「AspNetUsers」表重新命名為「MyUsers」:
<code class="language-csharp">protected override void OnModelCreating(DbModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); modelBuilder.Entity<IdentityUser>().ToTable("MyUsers"); }</code>
自訂所有身分錶
要重新命名所有身分錶,請在 OnModelCreating
中指定您的首選名稱。以下範例對所有表格使用“My”前綴:
<code class="language-csharp">protected override void OnModelCreating(System.Data.Entity.DbModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); modelBuilder.Entity<IdentityUser>().ToTable("MyUsers").Property(p => p.Id).HasColumnName("UserId"); modelBuilder.Entity<IdentityRole>().ToTable("MyRoles"); modelBuilder.Entity<IdentityUserRole>().ToTable("MyUserRoles"); modelBuilder.Entity<IdentityUserLogin>().ToTable("MyUserLogins"); modelBuilder.Entity<IdentityUserClaim>().ToTable("MyUserClaims"); }</code>
重要注意事項:重新命名表後,更新引用原始「AspNet」前綴表的任何程式碼或資料庫查詢以反映新名稱。 否則將會導致錯誤。
以上是如何自訂 ASP.NET 身份表名稱?的詳細內容。更多資訊請關注PHP中文網其他相關文章!