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
Utilizzare gRPC su App Service di Azure
Autenticarsi in modo sicuro su Azure tramite GitHub Actions
.NET Conference Italia 2024
Effettuare il binding di date in Blazor
Usare lo spread operator con i collection initializer in C#
Utilizzare il nuovo modello GPT-4o con Azure OpenAI
Eseguire script pre e post esecuzione di un workflow di GitHub
Eseguire un metodo asincrono dopo il set di una proprietà in Blazor 8
Aprire una finestra di dialogo per selezionare una directory in WPF e .NET 8
Filtrare i dati di una QuickGrid in Blazor con una drop down list
Gestire eccezioni nei plugin di Semantic Kernel in ASP.NET Core Web API
Utilizzare una qualunque lista per i parametri di tipo params in C#