La convenzione di mapping di Entity Framework Core mappa automaticamente tutte le proprietà pubbliche con getter e setter verso le colonne con lo stesso nome. Questa convenzione è molto comoda poiché ci permette di mappare gran parte delle nostre entity senza dover scrivere una linea di codice.
Tuttavia esistono casi in cui vogliamo creare proprietà che siano internal (ad esempio la proprietà Password di una entity Utente). Queste proprietà non sono mappate in automatico quindi dobbiamoricordarci di eseguire il mapping in automatico.
public class User { public string Username { get; set; } public string Name { get; set; } internal string Password { get; set; } } internal class BNContext : DbContext { public DbSet<User> Users { get; set; } protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity<User>().Property(p => p.Password); } }
Come si può vedere dall'esempio, il codice per mappare la proprietà internal è lo stesso per una proprietà pubblica. Tuttavia, mappare la proprietà internal è importante per due motivi: il primo è che Entity Framework Core non considera la proprietà per le operazioni di scrittura dati (non include la proprietà nelle insert e nelle update); il secondo è che se usiamo la proprietà nelle query, non otteniamo né un errore, né una valutazione in locale, semplicemente tutto ciò che fa riferimento alla poprietà viene ignorato.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Ordinare randomicamente una lista in C#
Creare una libreria CSS universale: Immagini
Documentare i servizi REST con Swagger e OpenAPI con .NET 9
Utilizzare il metodo CountBy di LINQ per semplificare raggruppamenti e i conteggi
Eseguire i worklow di GitHub su runner potenziati
Inference di dati strutturati da testo con Semantic Kernel e ASP.NET Core Web API
Creare una libreria CSS universale: Cards
Generare un hash con SHA-3 in .NET
Usare il colore CSS per migliorare lo stile della pagina
Creare agenti facilmente con Azure AI Agent Service
Gestione degli stili CSS con le regole @layer
Aggiornare a .NET 9 su Azure App Service