Comment faire de l'EF-Core utiliser un Guid au lieu de String pour ses ID de la clé Primaire

Quand je regarde le ASP.NET 3 Identité qu'il utilise un string et pas un Guid pour la clé primaire unique.

Dans mon Entity Framework code first Utilisateurs ApplicationUser classe, j'hérite de l'Identité de classe

public class ApplicationUser : IdentityUser
{
}

qui entraîne quand j'ai créer mon Entité Cadre des migrations un tableau aspnetusers se créé avec un type de clé denvarchar(450) au lieu de uniqueidentifier

Quand je compare cela à ASP.NET Identity 2 ENtity Framework projet, il a créé un champ ID de uniqueidentifier et pas nvarchar(450)

J'imagine que pour les performances de la base de clés primaires et les clés étrangères des uniqueidentifier serait mieux que nvarchar(450)

Est-il un moyen de les utiliser pour la clé unique Guid au lieu de string et uniqueidentifier au lieu de nvarchar(450) avec ASP.NET Identity 3?

Il y a un question précédente comment convertir une Chaîne en un Guid, mais je veux que la table de base de données d'identité, un Guid.

J'ai trouvé un autre question ainsi pour une BÊTA précédente lorsque la longueur est de type nvarchar(128). La raison donnée est que pas toutes les bases de données de soutien Guid et il a été changé pour plus de flexibilité.

Est il doit y avoir un moyen facile de changer de chaîne pour Guid sans avoir à réécrire l'ensemble de la identity 3?

nvarchar(450) est vraiment exagéré et donne toutes sortes de mises en garde lors de la création de base de données SQL Server contraintes. Base de données des administrateurs ne sera définitivement pas comme ces avertissements.

OriginalL'auteur devfric | 2016-05-11