Per default, EF Core mappa le proprietà di un owned type nella stassa tabella su cui è mappata la classe che contiene l'owned type. Prendiamo il seguente modello che prevede una classe Order e un Owned Type AddressInfo.
public class AddressInfo { public string Address { get; set; } } public class Order { public int Id { get; set; } public ShippingAddress Address { get; set; } public BillingAddress Address { get; set; } }
In questo caso, EF Core si aspetta una tabella Order con i campi Id, ShippingAddress_Address e BillingAddress_Address. Tuttavia possiamo modificare il mapping di default per salvare i dati degli indirizzi in una tabella esterna a quella dell'ordine utilizzando il metodo ToTable subito dopo aver invocato il metodo OwnsOne.
modelBuilder.Entity<Order>().OwnsOne(p => p.BillingAddress).ToTable("OrderAddress"); modelBuilder.Entity<Order>().OwnsOne(p => p.ShippingAddress).ToTable("OrderAddress");
Va sempre ricordato che i dati di un owned type vengono sempre recuperati insieme all'entity principale anche se si trovano in una tabella esterna. Questo significa che quando recuperiamo l'ordine, viene sempre fatta una join verso la tabella degli indirizzi senza necessità di usare il metodo Include.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Sfruttare lo stream rendering per le pagine statiche di Blazor 8
Miglioramenti nelle performance di Angular 16
Creazione di plugin per Tailwind CSS: espandere le Funzionalità del Framework
Autenticarsi in modo sicuro su Azure tramite GitHub Actions
Testare l'invio dei messaggi con Event Hubs Data Explorer
Esporre i propri servizi applicativi con Semantic Kernel e ASP.NET Web API
Sfruttare al massimo i topic space di Event Grid MQTT
Utilizzare QuickGrid di Blazor con Entity Framework
Gestione degli stili CSS con le regole @layer
Estrarre dati randomici da una lista di oggetti in C#
Generare la software bill of material (SBOM) in GitHub
Migliorare la scalabilità delle Azure Function con il Flex Consumption
I più letti di oggi
- Effettuare shallow e deep copy di un reference type
- Utilizzare il metodo Index di LINQ per scorrere una lista sapendo anche l'indice dell'elemento
- Learn&Get 'Applicazioni del mondo reale con ASP.NET 2.0' - Milano
- Microsoft Security Bulletin di maggio 2008
- Preview 4 per ASP.NET MVC
- Speciale ASP.NET Charting: grafici per tutti i gusti!
- Resi noti i prezzi di Windows 7: in italiano dal 22 ottobre
- Il web per le masse: Microsoft presenta il nuovo editor gratuito WebMatrix
- Ritardo per il SP3 di Windows 2000
- UDDI, terza versione in arrivo