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
Recuperare automaticamente un utente e aggiungerlo ad un gruppo di Azure DevOps
Centralizzare gli endpoint AI Foundry con Azure API Management
Utilizzare la funzione EF.Parameter per forzare la parametrizzazione di una costante con Entity Framework
Utilizzare l'espressione if inline in una pipeline di Azure DevOps
Utilizzare WhenEach per processare i risultati di una lista di task
.NET Conference Italia 2024
Utilizzare il metodo CountBy di LINQ per semplificare raggruppamenti e i conteggi
Eliminare record doppi in Sql Server
Recuperare le subissue e il loro stato di completamento in GitHub
Utilizzare WebJobs su Linux con Azure App Service
Evitare memory leaks nelle closure JavaScript
Creare una libreria CSS universale: i bottoni
I più letti di oggi
- Documentare i servizi REST con Swagger e OpenAPI con .NET 9
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- .NET Conference Italia 2024 - Milano
- Gestione CSS in Blazor con .NET 9