Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 实体框架4.1:集合中具有相同对象的多对多_C#_Entity Framework_Entity Framework 4.1 - Fatal编程技术网

C# 实体框架4.1:集合中具有相同对象的多对多

C# 实体框架4.1:集合中具有相同对象的多对多,c#,entity-framework,entity-framework-4.1,C#,Entity Framework,Entity Framework 4.1,我有一个多对多关系的模型 我还有object1和object2实体。Object1有一个ICollection属性。Object2有一个ICollection 问题是Object1可能有多个具有相同密钥(Id)的Object2。我的意思是,ICollection可能有{Id=1,Id=2,Id=1,Id=3…等}对象。 然后我调用SaveChanges,只有{Id=1,Id=2,Id=3}保存在数据库中。如何在多对多关系中保存许多对象Obje1实例?< P>不幸的是,您需要用21到多个集合和中间

我有一个多对多关系的模型

我还有
object1
object2
实体。Object1有一个
ICollection
属性。Object2有一个
ICollection

问题是Object1可能有多个具有相同密钥(Id)的Object2。我的意思是,
ICollection
可能有
{Id=1,Id=2,Id=1,Id=3…等}
对象。
然后我调用SaveChanges,只有
{Id=1,Id=2,Id=3}
保存在数据库中。如何在多对多关系中保存许多对象Obje1实例?

< P>不幸的是,您需要用21到多个集合和中间的关联对象来实现这一点,例如<代码> Objt1Objt2AsSOC/。此对象还需要一个
Count
属性来表示其在集合中的顺序,和/或一个Id属性来区别于其他类似的关联。

对于同一实体的多个对象,如何具有相同的Id?每个对象的键应该是唯一的。为什么不呢?例如,我希望在我的属性集合中有多个对象副本。(例如,想象一下菜单顺序。你有菜单项,你有订单。你可以在一个订单上订购两个木桩(菜单项“木桩”)是的,这是有道理的。但我认为你还应该有另一个身份证来区分这两个“赌注”。所以你有两个身份证。一个唯一(ItemId),一个不唯一(ItemTypeID)。这将使你更容易跟踪和保存。明白你的想法了。我认为这是一个解决办法。