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
Gestire la cancellazione di una richiesta in streaming da Blazor
Recuperare l'ultima versione di una release di GitHub
Usare le collection expression per inizializzare una lista di oggetti in C#
Eseguire query manipolando le liste contenute in un oggetto mappato verso una colonna JSON
Miglioramenti nelle performance di Angular 16
Generare token per autenicarsi sulle API di GitHub
Eseguire i worklow di GitHub su runner potenziati
Aggiornare a .NET 9 su Azure App Service
Creare un'applicazione React e configurare Tailwind CSS
Creare una libreria CSS universale: Clip-path
Usare il colore CSS per migliorare lo stile della pagina
Usare i servizi di Azure OpenAI e ChatGPT in ASP.NET Core con Semantic Kernel
I più letti di oggi
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Escludere alcuni file da GitHub Secret Scanning
- Creare una libreria CSS universale - Rotazione degli elementi
- Gestire eccezioni nei plugin di Semantic Kernel in ASP.NET Core Web API
- Aggiornare a .NET 9 su Azure App Service