Entity Framework Core adotta delle convenzioni per scoprire i tipi da mappare in automatico sul database. Per iniziare, tutti i tipi che sono esposti tramite DbSet dal contesto sono stati esclusi. Se uno di questi tipi contiene delle navigation property, allora il tipo delle navigation property viene automaticamente mappato anche se non esposto da un DbSet.
Quest'ultimo comportamento è quello che vogliamo nella maggior parte dei casi, ma possiamo intervenire per modificarlo.
Utilizando l'API di mapping Ignore e passando il tipo da non mappare, Entity Framework automaticamente scarterà la classe dal mapping.
class MyContext : DbContext { public DbSet<Person> People { get; set; } protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Ignore<IgnoreMe>(); } } public class Person { public int Id { get; set; } public string Name { get; set; } public IgnoreMe IgnoreThisType { get; set; } } public class IgnoreMe { public int Id { get; set; } public DateTime Info { 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
Aggiungere interattività lato server in Blazor 8
Creare alias per tipi generici e tuple in C#
.NET Conference Italia 2023
Gestire i null nelle reactive form tipizzate di Angular
Visualizzare le change sul plan di Terraform tramite le GitHub Actions
Utilizzare i primary constructor di C# per inizializzare le proprietà
Le novità di Angular: i miglioramenti alla CLI
Disabilitare automaticamente un workflow di GitHub (parte 2)
Eseguire query manipolando liste di tipi semplici con Entity Framework Core
Utilizzare Tailwind CSS all'interno di React: primi componenti
Limitare le richieste lato server con l'interactive routing di Blazor 8
Eseguire attività basate su eventi con Azure Container Jobs