EF Core - отображение много-к-одному - PullRequest
0 голосов
/ 12 февраля 2019

Я пытаюсь создать сопоставление между двумя таблицами, используя аннотацию EF Core Data.

Итак, вот мой пример сценария.Давайте предположим, что у меня есть классы тезисов, которые состоят из следующих свойств

Orders

[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

У меня есть данные этого примера:

OrderId                 OrderNumber // Order Table
1                       11111
2                       11111
3                       11111
4                       22222

OrderStatusId           OrderNumber         Status
1                       11111               Pending
2                       22222               Pending

По сути, я создал OrderStatuses таблицу, в которой хранится статус OrderNumber, но они не имеют отношения, поскольку я не знаю, как их сделать Many-to-One, используя аннотацию данных Entity Framework Core без использования key.Я хочу добиться этого, чтобы использовать метод .Include для извлечения всей информации.

Ключ в том, что много заказов, но только один статус.Я надеюсь, что кто-нибудь поможет мне.

1 Ответ

0 голосов
/ 12 февраля 2019

Поскольку вы хотите many-to-one между Order и OrderStatus, кажется, что вы неправильно сконфигурировали отношение модели.

Так что ваш класс моделей OrderStatus и Order должен быть следующим:

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; }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...