Sin dalla prima versione, sia Entity Framework che Entity Framework Core possono lavorare esclusivamente con entity che offono un costruttore senza parametri. A partire dalla versione 2.1, Entity Framework Core supera questo problema offrendo la possibilità di avere entity senza il costruttore di default, ma con costruttori con parametri.
Il meccanismo con cui EF Core invoca il costruttore con parametri prevede che il nome e il tipo dei parametri sia lo stesso delle proprietà mappate. PRendiamo come esempio il seguente codice.
public class Person { public Person(int id, string name) { Id = id; Name = name; } public int Id { get; set; } public string Name { get; set; } }
In questo caso, poiché il nome e il tipo dei parametri id e name del costruttore coincidono con le omonime proprietà (anche se differiscono nel casing), EF Core invoca il costruttore passando in input l'id e il nome recuperati dal database.
Questa tecnica ha alcune limitazioni. Ad esempio, vengono prese in considerazione solo le proprietà che hanno un setter e non è possibile passare al costruttore navigation property.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzare Tailwind CSS all'interno di React: primi componenti
Usare un KeyedService di default in ASP.NET Core 8
Supportare il sorting di dati tabellari in Blazor con QuickGrid
Generare file PDF da Blazor WebAssembly con iText
Eseguire le GitHub Actions offline
Gestire errori funzionali tramite exception in ASP.NET Core Web API
Effettuare il deploy di immagini solo da container registry approvati in Kubernetes
Configurare dependabot per aggiornare le dipendenze di terze parti con GitHub Actions
Miglioramenti nell'accessibilità con Angular CDK
Implementare il throttling in ASP.NET Core
Mascherare l'output di un valore all'interno dei log di un workflow di GitHub
Gestire i null nelle reactive form tipizzate di Angular