Scenario:
Ho ricevuto il progetto generato automaticamente in ASP.NET CORE dal mio collega. C'è un codice generato automaticamente per il servizio Account / Gestisci. Questo codice include ApplicationUser Class, DBContext e la cartella di migrazione con 00000000000000_CreateIdentitySchema.cs e 20180323155805_Snapshot.cs. Ho cercato di cambiare la mia classe utente per avere l'ID intero. Per farlo ho aggiunto generico a IdentityUser:
public class ApplicationUser : IdentityUser**<int>**
{
}
Ho anche dovuto creare una classe ApplicationRole, perché prima era stata creata nei file di migrazione.
public class ApplicationRole : IdentityRole<int>
{
}
Ho anche cambiato il mio contesto:
public class ApplicationDbContext : IdentityDbContext<ApplicationUser,
**ApplicationRole, int**>
Nei file di migrazione, è stato creato lo schema di accesso. Dopo l'aggiunta delle mie modifiche, aggiungo nuove migrazioni. Durante l'aggiunta della migrazione ho ricevuto questo errore:
Per modificare la proprietà IDENTITY di una colonna, la colonna deve essere eliminata e ricreata.
Dovrai aggiornare la migrazione generata per farlo in pochi passaggi. Sostituisci la chiamata AlterColumn
con le seguenti operazioni:
Potrebbe anche essere necessario ricostruire (eliminare e ricreare) tutti i vincoli che fanno riferimento alla colonna.
Non è banale, motivo per cui EF attualmente non lo gestisce. La richiesta di funzione # 329 riguarda l'aggiornamento di EF per gestirlo automaticamente.