Quando guardo l'identità di ASP.NET 3 utilizza uno string
e non un Guid
per la chiave primaria univoca.Come rendere EF-Core utilizzare un Guid invece di String per l'ID/Chiave primaria
In ApplicationUser
classe miei Entity Framework
code first
Users' ho ereditare la classe di identità
public class ApplicationUser : IdentityUser
{
}
che si traduce in quando creo il mio Entity Framework migrazioni un tavolo aspnetusers
sempre creato con un tipo di chiave di nvarchar(450)
invece di uniqueidentifier
Quando si confronta questo progetto con ASP.NET Identity 2
ENtity Framework
è stato creato un campo ID di uniqueidentifier
e non nvarchar(450)
mi immagino per le chiavi primarie prestazioni del database e chiavi esterne di uniqueidentifier
sarebbe meglio che nvarchar(450)
C'è un modo per utilizzare per l'unica chiave Guid
invece di string
e uniqueidentifier
invece di nvarchar(450)
con ASP.NET Identity 3
?
C'è un previous question come convertire una stringa in una guida ma voglio che l'ID della tabella del database sia una guida.
Ho trovato un altro question anche per un BETA precedente quando la lunghezza era nvarchar (128). Il motivo è che non tutti i database supportano Guids e sono stati modificati per la flessibilità.
È necessario un modo semplice per passare da stringa a guida senza riscrivere l'intero identity 3
?
nvarchar(450)
è davvero eccessivo e fornisce tutti i tipi di avvisi durante la creazione di vincoli di database di SQL Server. Gli amministratori del database non gradiranno definitivamente questi avvertimenti.
Si prega di notare, che v'è un bug in EntityFramework 7/EntiryFramework Core 1.0 fino a rc1-final, che interrompe le migrazioni quando si utilizzano i generici in chiavi esterne, che non vengono chiuse sui tipi predefiniti (come Guid). Questo problema è stato risolto in rc2-nightly per un po 'di tempo, ma non è ancora stato rilasciato. https://github.com/aspnet/EntityFramework/issues/3545 – Tseng