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
Usare il colore CSS per migliorare lo stile della pagina
Creare una libreria CSS universale: i bottoni
Supportare la sessione affinity di Azure App Service con Application Gateway
Creare una libreria CSS universale: Nav menu
Supporto ai tipi DateOnly e TimeOnly in Entity Framework Core
Utilizzare EF.Constant per evitare la parametrizzazione di query SQL
Utilizzare Azure Cosmos DB con i vettori
Recuperare automaticamente un utente e aggiungerlo ad un gruppo di Azure DevOps
Estrarre dati randomici da una lista di oggetti in C#
Utilizzare un numero per gestire la concorrenza ottimistica con SQL Server ed Entity Framework
Sfruttare gli embedding e la ricerca vettoriale con Azure SQL Database
Gestire i dati con Azure Cosmos DB Data Explorer