創建新應用程序時遇到了問題。該應用程序是關於在特定日期輸入的新員工。由於他們需要一些硬件(如筆記本電腦,鍵盤等),我們希望提供關於未來幾天即將到來的所有新員工的概述。使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
}
起初,這似乎是很好的,因爲每一個條目我想創建一個新的硬件數據集(一對多)。現在我決定維護一個硬件列表,只需引用硬件到條目(多對多)。問題是OrderStatus綁定到硬件,所以當一個Hardware被引用到許多Employees並且Orderstatus被更改時,它將在所有條目中被更改。
我認爲適當的解決方案是使用第三個表(Entry_Id,Hardware_Id,OrderStatus)。通過流暢的API,可以將關係映射到新的(第三個)表中,但無法向其添加新屬性(OrderStatus)。這甚至有可能嗎?
我認爲你應該創建第三個實體** EntryHardwareStatus **(名字可能會更好,但現在不相關),它與Entry和Hardware都有關係,並且還包含OrderStatus。只是用流暢的api映射'm:n'關係是不夠的 –
所以除了創建一個新的模型沒有別的辦法嗎?我不需要在Context + new Repository中爲這個模型創建新的屬性嗎?沒有辦法用流利api解決這個問題嗎? – C4p741nZ