2011-08-09 112 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

相关问题