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
Eseguire query in contemporanea con EF
Testare il failover sulle region in Azure Storage
Esporre i propri servizi applicativi con Semantic Kernel e ASP.NET Web API
Aggiornare a .NET 9 su Azure App Service
Supportare la sessione affinity di Azure App Service con Application Gateway
Il nuovo controllo Range di Blazor 9
Sfruttare GPT-4o realtime su Azure Open AI per conversazioni vocali
Gestire gli accessi con Token su Azure Container Registry
Introduzione alle Container Queries
Change tracking e composition in Entity Framework
Rinnovare il token di una GitHub App durante l'esecuzione di un workflow
Managed deployment strategy in Azure DevOps