Заставьте EF использовать таблицу m: n с дополнительным свойством [duplicate]
На этот вопрос уже есть ответ здесь:
Сначала создайте код, многие ко многим, с дополнительными полями в таблице ассоциаций. 6 ответовЯ столкнулся с проблемой при создании нового приложения. Приложение о новых сотрудниках, которые входят в определенную дату. Поскольку им требуется некоторое оборудование (например, ноутбуки, клавиатуры и т. Д.), Мы хотим предоставить обзор всех новых сотрудников, которые будут работать в ближайшие несколько дней.
Итак, есть следующие модели:
Вступление:
public class Entry{
public IEnumerable<Hardware> Hardware {get; set;}
...
}
Оборудование:
public class Hardware{
public string Name {get; set;}
public OrderStatus Status {get; set}
}
Статус заказа:
public enum OrderStatus{
Nothing,
Ordered,
Arrived,
Ready
}
Сначала это казалось нормальным, потому что для каждой записи я хотел создать новый набор аппаратных данных (один ко многим). Теперь я решил вести список оборудования и просто ссылаться на оборудование для входа (многие ко многим). Проблема заключается в том, что OrderStatus привязан к оборудованию, поэтому, когда одно Оборудование ссылается на множество Сотрудников, а Orderstatus изменяется, оно будет изменено для всех записей.
Я думаю, что правильным решением было бы использовать третью таблицу (Entry_Id, Hardware_Id, OrderStatus). С помощью свободного API можно отобразить отношения в новой (третьей) таблице, но невозможно добавить в нее новое свойство (OrderStatus). Это вообще возможно?