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
Gestione delle issue type con GitHub
Keynote .NET Conference Italia 2025
Configurare OpenAI in .NET Aspire
Integrare OpenTelemetry direttamente in Azure Monitor
Effettuare un clone parziale di un repository di GitHub
Importare un servizio esterno in .NET Aspire
Impostare il tipo di supporto dei campi Json in Entity Framework con Sql Server
Usare la libreria PredicateBuilder per eseguire query tramite Entity Framework che usano or su più campi
Interagire con Azure DevOps tramite MCP Server
Testare le API di Azure Resource Manager con API Playground
Stop alle password con Azure Managed Identity
Utilizzare ExecuteUpdate per aggiornare colonne JSON in Entity Framework


