Impostare un campo ID auto-increment con Entity Framework Code-First

Abilitare e disabilitare il Lazy Loading con Entity Framework

Ho già avuto modo in un vecchio post di parlare delle potenzialità del nuovo approccio code-first introdotto da Entity Framework 6 che consente, tra le altre cose, di definire un data model completo partendo da una o più classi C# dette, per l'appunto, Entities. Una delle domande più frequenti che mi sono state fatte è quella relativa a come impostare il campo Id (o chiave primariao primary key) di una Entity in modo autoincrementale: in altre parole, come dire al Database di assegnare un identificativo numerico crescente ad ogni record.

Tanto MySQL quanto Microsoft SQL Server supportano in modo nativo colonne autoincrementali. Come fare in modo che il campo di una Entity venga definito in tal modo sul DB che andremo a generare?

La risposta è semplice: è sufficiente decorare la nostra proprietà con un apposito DatabaseGeneratedAttribute, specificando che si tratta di una identità generata automaticamente dal Database nel seguente modo:

Il campo ID sarà generato in modo autoincrementale, garantendo un ID univoco a ciascun record di tipo Item.

Felice sviluppo!

About Ryan

IT Project Manager, Web Interface Architect e Lead Developer di numerosi siti e servizi web ad alto traffico in Italia e in Europa. Dal 2010 si occupa anche della progettazione di App e giochi per dispositivi Android, iOS e Mobile Phone per conto di numerose società italiane. Microsoft MVP for Development Technologies dal 2018.

View all posts by Ryan

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *


The reCAPTCHA verification period has expired. Please reload the page.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.