Sto cercando di creare una mappatura tra le 2 tabelle utilizzando l'annotazione dei dati di base EF.
Quindi ecco il mio esempio di scenario. Supponiamo di avere lezioni di tesi che consistono in seguenti proprietà
Ordini
[Key]
public int OrderId {get;set}
public string OrderNumber {get;set;}
OrderStatuses
[Key]
public int OrderStatusId {get;set}
public string OrderNumber {get;set;}
public StatusEnum Status {get;set} // Pending, Delivered, Cancel
Ho questo esempio di dati:
OrderId OrderNumber // Order Table
1 11111
2 11111
3 11111
4 22222
OrderStatusId OrderNumber Status
1 11111 Pending
2 22222 Pending
Fondamentalmente, ho creato la tabella OrderStatuses
che memorizza lo stato di OrderNumber
ma non hanno alcuna relazione in quanto non ho idea di come renderli Many-to-One
utilizzando l'annotazione dei dati di Entity Framework Core senza utilizzare la key
. Voglio raggiungere questo obiettivo in modo da poter utilizzare il metodo .Include
nel recupero di tutte le informazioni.
La chiave è, molti ordini tranne uno stato solo. Spero che qualcuno mi aiuti.
Poiché desideri many-to-one
tra Order
e OrderStatus
, sembra che tu abbia configurato la tua relazione modello in modo errato.
Pertanto la classe del modello OrderStatus
e Order
dovrebbe essere la seguente:
public class OrderStatus
{
[Key]
public int OrderStatusId { get; set; }
public StatusEnum Status { get; set; }
public ICollecton<Order> Orders {get; set;}
}
public class Order
{
[Key]
public int OrderId { get; set; }
public string OrderNumber { get; set; }
public OrderStautsId {get;; set;}
public OrderStatus OrderStatus { get; set; }
}