Quando abbiamo database con molte tabelle, abbiamo di conseguenza un elevato numero di classi. Mappare queste classi all'interno del metodo OnModelCreating può diventare molto gravoso in quanto il metodo può arrivare a contenere anche migliaia di righe di mapping. Entity Framework Core 2.0 introduce una funzionalità che è gia presente in Entity Framework, ma che non era stata portata nella prima versione di Entity Framework Core, cioè la possibilità di incapsulare il mapping di una entity all'interno di una classe e successivamente passare questa classe al contest di Entity Framework Core.
class PersonConfiguration : IEntityTypeConfiguration<Person> { public void Configure(EntityTypeBuilder<Person> builder) { //Codice di mapping } } public class MyContext : DbContext { protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.ApplyConfiguration(new PersonConfiguration()); } }
Sfruttando le clasi di mapping, il codice diventa molto più organizzato passando da un solo metodo con migliaia di righe di codice, a tante piccole classi ognuna con un suo compito specifico.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Ottenere il contenuto di una cartella FTP con la libreria FluentFTP
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
Eseguire attività pianificate con Azure Container Jobs
C# 12: Cosa c'è di nuovo e interessante
Sfruttare lo stream rendering per le pagine statiche di Blazor 8
Creare alias per tipi generici e tuple in C#
Usare le variabili per personalizzare gli stili CSS
Potenziare Azure AI Search con la ricerca vettoriale
Installare le Web App site extension tramite una pipeline di Azure DevOps
Inizializzare i container in Azure Container Apps
Creare moduli CSS in React
Usare il versioning con i controller di ASP.NET Core Web API
I più letti di oggi
- Utilizzare WebAssembly con .NET, ovunque
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
- Utilizzare il trigger SQL con le Azure Function
- Disabilitare automaticamente un workflow di GitHub (parte 2)
- Paginare i risultati con QuickGrid in Blazor
- Ottimizzazione dei block template in Angular 17