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
Gestire la cancellazione di una richiesta in streaming da Blazor
Combinare Container Queries e Media Queries
Utilizzare il metodo CountBy di LINQ per semplificare raggruppamenti e i conteggi
Usare i servizi di Azure OpenAI e ChatGPT in ASP.NET Core con Semantic Kernel
Triggerare una pipeline su un altro repository di Azure DevOps
La gestione della riconnessione al server di Blazor in .NET 9
Utilizzare Copilot con Azure Cosmos DB
Applicare un filtro per recuperare alcune issue di GitHub
Disabilitare le run concorrenti di una pipeline di Azure DevOps
Eliminare una project wiki di Azure DevOps
Aprire una finestra di dialogo per selezionare una directory in WPF e .NET 8
Utilizzare un numero per gestire la concorrenza ottimistica con SQL Server ed Entity Framework
I più letti di oggi
- Parallelizzare le chiamate HTTP con async/await e le Promise in JavaScript
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- a #RealCodeConf4 il 25 maggio a Firenze parleremo di #silverlight4. iscrizioni gratis su http://u.aspitalia.com/g9
- Eseguire una chiamata AJAX per inviare dati al server in Angular 2
- Comporre la pagina HTML con i nuovi tag semantici di HTML5