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
Integrare il Docker Model Runner in un workflow di GitHub
Disabilitare la telemetria nella CLI di GitHub
Supporto semplificato per le left join in Entity Framework 10
Creare comandi nella dashboard .NET Aspire
Utilizzare AbortController per cancellare operazioni asincrone in JavaScript
Utilizzare @property per animare nativamente un oggetto HTML tramite CSS
Impostare la content-visibility in CSS per ottimizare il rendering iniziale di una pagina
Usare i generics di C# con la clausola nameof in modo semplificato
Utilizzare le librerie native di .NET per comprimere uno o più file in formato ZIP
Integrazione di Copilot in .NET Aspire
Effettuare la ricerca di testo nascosto in una pagina web con Javascript
Gestione opzioni colonna nella Blazor QuickGrid


