使EF使用am:n具有附加属性的表

我在创建新应用时遇到了问题。 该应用程序是关于在特定日期进入的新员工。 由于他们需要一些硬件(如笔记本,键盘等),我们希望提供未来几天内将要出现的所有新员工的概述。

所以有以下型号:

条目:

public class Entry{ public IEnumerable Hardware {get; set;} ... } 

硬件:

 public class Hardware{ public string Name {get; set;} public OrderStatus Status {get; set} } 

订单状态:

 public enum OrderStatus{ Nothing, Ordered, Arrived, Ready } 

起初这似乎很好,因为对于每个条目我都想创建一个新的硬件数据集(一对多)。 现在我决定维护一个硬件列表,并将硬件引用到条目中(多对多)。 问题是OrderStatus绑定到硬件,因此当一个硬件被引用到许多Employees并且Orderstatus被更改时,它将在所有条目上更改。

我认为正确的解决方案是使用第三个表(Entry_Id,Hardware_Id,OrderStatus)。 使用流畅的API,可以在新(第三)表中映射关系,但不可能向其添加新属性(OrderStatus)。 这有可能吗?

根据这个答案 :

无法与自定义连接表创建多对多关系。 在多对多关系中,EF在内部管理连接表并隐藏。 它是一个没有模型中的Entity类的表。 要使用具有其他属性的此类连接表,您必须实际创建两个一对多关系

有关详细信息,请参阅链接的答案。