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
Utilizzare una qualunque lista per i parametri di tipo params in C#
Fornire parametri ad un Web component HTML
Utilizzare gRPC su App Service di Azure
Gestione file Javascript in Blazor con .NET 9
Collegare applicazioni server e client con .NET Aspire
Ricevere notifiche sui test con Azure Load Testing
Effettuare il refresh dei dati di una QuickGrid di Blazor
Utilizzare il metodo IntersectBy per eseguire l'intersection di due liste
Rinnovare il token di una GitHub App durante l'esecuzione di un workflow
Selettore CSS :has() e i suoi casi d'uso avanzati
Recuperare App Service cancellati su Azure
Eseguire query per recuperare il padre di un record che sfrutta il tipo HierarchyID in Entity Framework