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
Utilizzare la session affinity con Azure Container Apps
Applicare il versioning ai nostri endpoint ASP.NET Core Minimal API
Utilizzare HiLo per ottimizzare le insert in un database con Entity Framework
Sfruttare MQTT in cloud e in edge con Azure Event Grid
Effettuare chiamate con versioning da Blazor ad ASP.NET Core
Usare Refit e Polly in Blazor per creare client affidabili e fortemente tipizzati
Come EF 8 ha ottimizzato le query che usano il metodo Contains
Eseguire una GroupBy per entity in Entity Framework
Filtrare e rimuovere gli elementi dalla cache del browser tramite le API JavaScript
Eseguire attività con Azure Container Jobs
Miglioramenti nelle performance di Angular 16
Installare le Web App site extension tramite una pipeline di Azure DevOps