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
Utilizzare database e servizi con gli add-on di Container App
Eseguire una query su SQL Azure tramite un workflow di GitHub
Mascherare l'output di un valore all'interno dei log di un workflow di GitHub
Generare file PDF da Blazor WebAssembly con iText
Verificare la provenienza di un commit tramite le GitHub Actions
Generare file per il download da Blazor WebAssembly
Recuperare un elemento inserito nella cache del browser tramite API JavaScript
Usare un KeyedService di default in ASP.NET Core 8
Sfruttare i KeyedService in un'applicazione Blazor in .NET 8
Evitare la command injection in un workflow di GitHub
Eseguire attività basate su eventi con Azure Container Jobs
Filtrare e rimuovere gli elementi dalla cache del browser tramite le API JavaScript
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)
- Ottimizzazione dei block template in Angular 17
- Paginare i risultati con QuickGrid in Blazor