首頁 >後端開發 >C++ >如何自訂 AspNet.Identity 表名稱?

如何自訂 AspNet.Identity 表名稱?

Linda Hamilton
Linda Hamilton原創
2025-01-17 04:03:12404瀏覽

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