Dopo la migrazione del database DB nel momento in cui le tabelle sono state create nel database, l'incremento automatico identità non è stato applicato alla colonna "Id" mentre il vincolo della chiave primaria è stato applicato.
Di seguito è riportato il codice di classe del modello.
public class Subscription
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public string Id { get; set; }
public string domainName { get; set; }
public string articleID { get; set; }
public string tld { get; set; }
public string customerID { get; set; }
public string customerName { get; set; }
public string price { get; set; }
public string nextBillDate { get; set; }
}
E seguenti sono le colonne della tabella che è stata generata.
Qualcuno può aiutarmi con come applicare in modo pulito l'incremento automatico nella colonna "Id". Voglio che abbia sia la chiave primaria che l'incremento automatico.
Modifica: ho modificato il tipo di ID in int, ma l' incremento automatico non viene applicato ad esso. Ecco uno screenshot.
Il tipo dovrebbe essere int
per renderlo Identity:
public int Id { get; set; }
OK, dopo aver cambiato il tuo ID da string
a int
e il problema si verifica ancora, ti consiglio di eliminare il tuo database (se non ti interessa dei dati) ed eliminare anche il tuo file di migrazione da Visual Studio. È importante eliminare il file di migrazione dal programma perché a volte non riconosce tutte le modifiche. Oppure puoi aggiungere questa riga di codice a mano nel tuo file di migrazione (forse non raccomandato, ma se non aiuta, questo aiuterà):
identity: true
Quindi, dovrebbe assomigliare a questo:
CreateTable("dbo.Table",
c => new
{
Id= c.Int(nullable: false, identity: true),
...
})
.PrimaryKey(t => t.Id)
...