Maison >développement back-end >C++ >Comment puis-je personnaliser les noms des tables d'identité ASP.NET ?

Comment puis-je personnaliser les noms des tables d'identité ASP.NET ?

Susan Sarandon
Susan Sarandonoriginal
2025-01-17 03:57:09461parcourir

How Can I Customize ASP.NET Identity Table Names?

Adaptation des noms de table d'identité ASP.NET

ASP.NET Identity, par défaut, génère des tables préfixées par « AspNet ». Cela pourrait entrer en conflit avec les conventions de dénomination de votre projet. Ce guide montre comment personnaliser ces noms de table.

Modification OnModelCreating

La clé pour changer les noms de table d'Identity réside dans le remplacement de la méthode OnModelCreating au sein de votre classe DbContext. Cette méthode vous permet de configurer votre modèle de données et de spécifier des noms de tables personnalisés.

L'exemple ci-dessous montre comment renommer la table "AspNetUsers" en "MyUsers" :

<code class="language-csharp">protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
    base.OnModelCreating(modelBuilder);
    modelBuilder.Entity<IdentityUser>().ToTable("MyUsers");
}</code>

Personnalisation de toutes les tables d'identité

Pour renommer toutes les tables d'identité, spécifiez vos noms préférés dans OnModelCreating. L'exemple suivant utilise le préfixe « Mon » pour toutes les tables :

<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>

Considération importante : Après avoir renommé les tables, mettez à jour toutes les requêtes de code ou de base de données qui font référence aux tables préfixées « AspNet » d'origine pour refléter les nouveaux noms. Ne pas le faire entraînera des erreurs.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn