La versione 6.1 di Entity Framework introduce un nuovo attributo di mapping che permette di specificare un indice da creare sul database in fase di migrazione. L'attributo è IndexAttribute e deve essere applicato su una o più proprietà (a seconda del fatto che vogliamo che l'indice sia applicato a una o più colonne). L'utilizzo di questo attributo è molto semplice come si può vedere nel seguente codice.
[Index] public int IndexProperty { get; set; }
Possiamo anche utilizzare diversi costruttori di IndexAttribute. Se vogliamo personalizzare il nome dell'indice, possiamo passarlo come parametro al costruttore.
[Index("IndexName")] public int IndexProperty { get; set; }
Nel caso in cui l'indice includa più proprietà, possiamo usare l'overload che accetta anche la posizione della proprietà nell'indice.
[Index("IndexName", 1)] public int Property1 { get; set; } [Index("IndexName", 2)] public int Property2 { get; set; }
Per default, gli indici vengono definiti come non univoci, ma possiamo specificare che un indice è univoco tramite la proprietà IsUnique.
[Index("IndexName", IsUnique=true)] public int IndexProperty { get; set; }
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Configurare dependabot per aggiornare le dipendenze di terze parti con GitHub Actions
Utilizzare le Cache API di JavaScript per salvare elementi nella cache del browser
Routing statico e PreRendering in una Blazor Web App
Sfruttare i KeyedService in un'applicazione Blazor in .NET 8
Semplificare il deployment di siti statici con Azure Static Web App
Utilizzare Model as a Service su Microsoft Azure
Recuperare un elemento inserito nella cache del browser tramite API JavaScript
Esportare ed analizzare le issue di GitHub con la CLI e GraphQL
Sfruttare lo streaming di una chiamata Http da Blazor
Gestire liste di tipi semplici con Entity Framework Core
Definire stili a livello di libreria in Angular
Effettuare chiamate con versioning da Blazor ad ASP.NET Core