Nello script #463 abbiamo visto come mappare una tabella su più entity utilizzando il la tecnica di mapping Table-Splitting. Avendo due entity che rappresentano diversi campi sulla stessa tabella, dobbiamo modificare leggermente il nostro modo di persistere i dati. Riprendiamo il modello visto nello script #463.
public partial class PersonExtended
{
public int PersonId { get; set; }
public string Notes { get; set; }
public Person Person { get; set; }
}
public partial class Person
{
public int PersonId { get; set; }
public string FirstName {get; set; }
public string LastName {get; set; }
public PersonExtended PersonExtended { get; set; }
}Per inserire una persona, dobbiamo prima istanziare un oggetto di tipo Person, poi un oggetto di tipo PersonExtended e poi associare il secondo al primo tramite la proprieta PersonExtended come mostrato nel prossimo esempio.
var p = new Person{
FirstName = "Stefano",
LastName = "Mostarda",
PersonExtended = new PersonExtended
{
Notes = "note",
},
};
ctx.Add(p);
ctx.SaveChanges();Come si vede dal codice, le API di Entity Framework Core da usare per la persistenza sono sempre le stesse (Add e SaveChanges), quello che cambia è solo il modo di comporre gli oggetti.
Se non volessimo inserire le note, potremmo anche non impostare la proprietà PersonExtended e verrebbero inseriti solo i valori della classe Person.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzare il metodo ExceptBy per eseguire operazione di sottrazione tra liste
Ricevere notifiche sui test con Azure Load Testing
Testare il failover sulle region in Azure Storage
Gestire codice JavaScript con code splitting e lazy loading
Gestire pubblicazione Kubernetes tramite .NET Aspire
Utilizzare WebJobs su Linux con Azure App Service
Utilizzare i command service nei test con .NET Aspire
Configurare OpenAI in .NET Aspire
Self-healing degli unit test con Copilot in GitHub
Gestire progetti NPM in .NET Aspire
Eseguire query in contemporanea con EF


