Quando specifichiamo una proprietà chiave di tipo intero (Int16, Int32, Int64), Entity Framework Code-First assume che questa proprietà sia un'identity sul database. Questo comportamento va bene in molti casi, ma in altri può rappresentare un problema. Per modificarlo, possiamo decorare la proprietà chiave con la DataAnnotation DatabaseGenerated, alla quale passiamo il valore DatabaseGeneratedOption.None, per indicare che il valore non deve essere autogenerato dal database.
[DatabaseGenerated(DatabaseGeneratedOption.None)] public int Id { get; set; }
Se abbiamo un qualunque campo della classe che deve essere sempre aggiornato con valori generati dal database (sia in inserimento che in aggiornamento), possiamo passare all'attributo il valore DatabaseGeneratedOption.Computed.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Effettuare il binding di date in Blazor
Ottimizzare la latenza in Blazor 8 tramite InteractiveAuto render mode
Elencare le container images installate in un cluster di Kubernetes
Accesso sicuro ai secrets attraverso i file in Azure Container Apps
Creare moduli CSS in React
Utilizzare la libreria Benchmark.NET per misurare le performance
Ottimizzare il mapping di liste di tipi semplici con Entity Framework Core
Eseguire una query su SQL Azure tramite un workflow di GitHub
Le novità di Entity Framework 8
Evitare il flickering dei componenti nel prerender di Blazor 8
Eseguire attività basate su eventi con Azure Container Jobs
Recuperare un elemento inserito nella cache del browser tramite API JavaScript