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
Eseguire script pre e post esecuzione di un workflow di GitHub
Montare Azure Blob Storage su Linux con BlobFuse2
Creare espressioni riutilizzabili nelle query LINQ per Entity Framework
Aggiornare a .NET 9 su Azure App Service
Abilitare automaticamente il force push di un gruppo su Azure DevOps
Recuperare gli audit log in Azure DevOps
La gestione della riconnessione al server di Blazor in .NET 9
Configuratione e utilizzo .NET Aspire CLI
Utilizzare i variable font nel CSS
Gestire il routing HTTP in Azure Container App
Integrare OpenAI tramite Aspire
Creare una libreria CSS universale: Clip-path
I più letti di oggi
- Impedire il remote linking di immagini tramite URL Rewrite Module di IIS 7
- Community Champion Basta!Italia 2009 - Roma
- Microsoft Security Bulletin MS02-068
- IIS guadagna terreno
- Disponibile la versione 2.1 di IISLockDown
- Mischiare codice server side e client side in una query LINQ con Entity Framework
- Nascondere i contenuti con effetto Fade nella Universal Windows Platform


