2011-08-09 56 views
0

我有一個具有多對多關係的模型。實體框架4.1:在集合中具有相同對象的多對多

我也有object1object2實體。 Object1有一個ICollection<Object2>屬性。 Object2有一個ICollection<Object1>

問題是Object1可能具有多個具有相同鍵(Id)的Object2。我的意思是ICollection<Object2>可能有{Id=1, Id=2, Id=1, Id=3... etc}對象。 然後我打電話SaveChanges只有{Id=1, Id=2, Id=3}保存在數據庫中。如何在多對多關係中保存Object1實例的許多相同對象?

+0

你如何爲同一個實體的多個對象擁有相同的ID?每個對象的鍵應該是唯一的。 –

+0

爲什麼不呢?例如,我想在我的屬性集合中擁有多個對象副本。 (例如,設想一下菜單順序,你有菜單項,你有訂單,你可以訂購兩個賭注(菜單項'股權')到一個訂單) – DolceVita

+1

是的,這是有道理的。但我認爲你應該還有另一個ID來區分這兩個「賭注」。所以你會有兩個ID。一個唯一的(ItemId)和一個不唯一的(ItemTypeID)。它會讓你更容易跟蹤和保存。 –

回答

2

不幸的是,你需要用兩個一對多的集合和一箇中間的關聯對象來做到這一點,例如, Object1Object2Assoc。該對象還需要一個Count屬性來表示它在集合中的順序和/或Id屬性,以將其自身與其他類似關聯區分開來。

+0

有你的想法。我認爲這是一個解決方案。 – DolceVita

相關問題