ASP.NET Core Identity avec Guid

Par défauts, les identifiants de ASP.NET Core Identity sont livré en NVARCHAR (450). Si vous désirez utiliser des Guid comment identifiant ce n’est pas très optimal. Voici le script pour créer les tables avec UNIQUEIDENTIFIER au lieu de NVARCHAR(450).

Vous devez aussi appliquer les modifications ci-dessous :

Et voilà! Identity est maintenant passé en Guid.

Si vous n’avez pas le besoin de rajouter des champs supplémentaires à l’utilisateur vous pouvez complètement supprimer la classe ApplicationUser et remplacer toute les occurrences par IdentityUser.

ASP.NET Core Identity schema

J’ai du extraire le code SQL pour générer les tables utilisé par ASP.NET Core Identity.

Lorsque l’on crée une nouvelle application ASP.NET Core Web Application (.NET Core), la base de donnée par défaut n’existe pas. Elle ce crée lorsqu’un utilisateur s’inscrit pour la première fois. De plus, c’est un fichier MDF qui va ce placer dans le répertoire de l’utilisateur.

Voici le script SQL pour créer les tables, vous pouvez ainsi facilement le modifier selon vos besoins (NVARCHAR vs VARCHAR ou/et GUID vs INT, par exemple).