Nello script #361 abbiamo visto come aggiungendo l'attributo Index su una proprietà di una classe mappata con Entity Framework possiamo specificare che questa proprietà faccia parte di un indice sul database. Spesso non si vuole utilizzare l'attributo ma si preferisce usare il codice di mapping ma questo non supporta nativamente l'indexing delle proprietà.
Per superare questa limitazione possiamo ricorrere al seguente codice.
modelBuilder .Entity<Person>() .Property(t => t.BirthDate) .HasColumnAnnotation("Index", new IndexAnnotation(new IndexAttribute()));
In questo esempio recuperiamo la proprieta BirthDate della classe Person e usiamo il metodo HasColumnAnnotation per aggiungere l'indice.
Il metodo HasColumnAnnotation accetta in input il nome dell'indice e un oggetto IndexAnnotation. Questo oggetto a sua volta accetta nel costruttore un parametro di tipo IndexAttribute all'interno del quale specifichiamo le proprietà dell'indice (questa classe è la stessa che usiamo quando marchiamo una proprietà con l'attributo Index).
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Creazione di componenti personalizzati in React.js con Tailwind CSS
Generare file per il download da Blazor WebAssembly
Utilizzare i primary constructor in C#
Implementare il throttling in ASP.NET Core
Utilizzare HiLo per ottimizzare le insert in un database con Entity Framework
Potenziare Azure AI Search con la ricerca vettoriale
Creare moduli CSS in React
Eseguire attività basate su eventi con Azure Container Jobs
Gestire liste di tipi semplici con Entity Framework Core
Copiare automaticamente le secret tra più repository di GitHub
Inizializzare i container in Azure Container Apps
Cambiare la chiave di partizionamento di Azure Cosmos DB