У меня возникла проблема при создании нового приложения. Приложение - это новые сотрудники, которые вступают в определенную дату. Поскольку они нуждаются в каком-то оборудовании (например, ноутбуках, клавиатурах и т. Д.), Мы хотим предоставить обзор всем новым сотрудникам, которые появятся в ближайшие несколько дней.Сделать EF использовать таблицу m: n с дополнительным свойством
Итак, есть следующие модели:
запись:
public class Entry{
public IEnumerable<Hardware> Hardware {get; set;}
...
}
Оборудование:
public class Hardware{
public string Name {get; set;}
public OrderStatus Status {get; set}
}
OrderStatus:
public enum OrderStatus{
Nothing,
Ordered,
Arrived,
Ready
}
Сначала это казалось хорошо, потому что для каждого запись Я хотел создать новый набор аппаратных данных (один для многих). Теперь я решил сохранить список аппаратных средств и просто ссылаюсь на Hardware to Entry (многие на многие). Проблема в том, что OrderStatus связан с аппаратным обеспечением, поэтому, когда одно оборудование ссылается на многих сотрудников, а Orderstatus получает изменения, оно будет изменено на все записи.
Я считаю, что правильным решением будет использование третьей таблицы (Entry_Id, Hardware_Id, OrderStatus). С помощью свободного API можно сопоставить отношения в новой (третьей) таблице, но невозможно добавить к нему новое свойство (OrderStatus). Возможно ли это?
Я думаю, вы должны создать третью сущность ** EntryHardwareStatus ** (имя, вероятно, было бы лучше, но на данный момент это не имеет значения), который связан как с Entry, так и с оборудованием, а также содержит OrderStatus. Просто сопоставление отношений «m: n» с текущим api недостаточно. –
Итак, нет другого способа, кроме создания новой модели? Не нужно ли создавать новые свойства в Context + new Repository для этой модели? Разве нет способа решить это с помощью flu-api? – C4p741nZ