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
Sfruttare MQTT in cloud e in edge con Azure Event Grid
Gestire i null nelle reactive form tipizzate di Angular
Utilizzare l'operatore GroupBy come ultima istruzione di una query LINQ in Entity Framework
Specificare il versioning nel path degli URL in ASP.NET Web API
Usare Refit e Polly in Blazor per creare client affidabili e fortemente tipizzati
Evitare la script injection nelle GitHub Actions
Utilizzare gli snapshot con Azure File shares
Installare le Web App site extension tramite una pipeline di Azure DevOps
Eseguire un metodo asincrono dopo il set di una proprietà in Blazor 8
Limitare le richieste lato server con l'interactive routing di Blazor 8
Filtrare e rimuovere gli elementi dalla cache del browser tramite le API JavaScript
Sfruttare i KeyedService in un'applicazione Blazor in .NET 8