Когда я смотрю на ASP.NET 3 Identity, он использует string
, а не Guid
для уникального первичного ключа.
В моем классе Entity Framework
code first
Пользователи ApplicationUser
я наследую класс Identity
public class ApplicationUser : IdentityUser
{
}
что приводит к тому, что при создании миграции Entity Framework создается таблица aspnetusers
, созданная с типом ключа nvarchar(450)
вместо uniqueidentifier
Когда я сравниваю это с проектом ASP.NET Identity 2
Entity Framework
, он создал поле идентификатора uniqueidentifier
, а не nvarchar(450)
Я бы предположил, что для производительности базы данных первичные ключи и внешние ключи uniqueidentifier
будут лучше, чем nvarchar(450)
Есть ли способ использовать уникальный ключ Guid
вместо string
и uniqueidentifier
вместо nvarchar(450)
с помощью ASP.NET Identity 3
?
Существует предыдущий вопрос, как преобразовать String в Guid, но я хочу, чтобы идентификатор таблицы базы данных был ориентиром.
Я нашел еще один question и для предыдущей BETA, когда длина была nvarchar (128). Причина в том, что не все базы данных поддерживают гиды, и это было изменено для гибкости.
Должен быть простой способ изменить строку на строку Guid без перезаписи целого identity 3
?
nvarchar(450)
действительно избыточно и дает всевозможные предупреждения при создании ограничений базы данных SQL Server. Администраторы базы данных будут окончательно не похожи на эти предупреждения.