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 QuickGrid di Blazor con Entity Framework
Evitare il flickering dei componenti nel prerender di Blazor 8
Eseguire script pre e post esecuzione di un workflow di GitHub
Utilizzare politiche di resiliency con Azure Container App
Persistere la ChatHistory di Semantic Kernel in ASP.NET Core Web API per GPT
Creare una libreria CSS universale: Immagini
Eseguire un metodo asincrono dopo il set di una proprietà in Blazor 8
Aprire una finestra di dialogo per selezionare una directory in WPF e .NET 8
Generare un hash con SHA-3 in .NET
Definire stili a livello di libreria in Angular
Utilizzare EF.Constant per evitare la parametrizzazione di query SQL
Utilizzare un numero per gestire la concorrenza ottimistica con SQL Server ed Entity Framework