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 il metodo ExceptBy per eseguire operazione di sottrazione tra liste
Creare una libreria CSS universale - Rotazione degli elementi
Utilizzare il metodo Index di LINQ per scorrere una lista sapendo anche l'indice dell'elemento
Esporre un server MCP esistente con Azure API Management
Utilizzare il metodo IntersectBy per eseguire l'intersection di due liste
Testare il failover sulle region in Azure Storage
Proteggere l'endpoint dell'agente A2A delle Logic App
Integrare modelli AI in un workflow di GitHub
Ridimensionamento automatico input tramite CSS
Interagire con Azure DevOps tramite MCP Server
Eseguire query in contemporanea con EF
Creare espressioni riutilizzabili nelle query LINQ per Entity Framework
I più letti di oggi
- Effettuare il multi-checkout in linea nelle pipeline di Azure DevOps
- Gli oggetti CallOut di Expression Blend 4.0
- Sfruttare una CDN con i bundle di ASP.NET
- Utilizzare un DataContext specifico per la modalità design time di Blend e Visual Studio nei controlli Silverlight
- Alleggerire le applicazioni WPF sfruttando gli oggetti Freezable
- Le DirectInk API nella Universal Windows Platform


