为具有组合键和无标识规范的表插入多个实体 - 实体框架抛出无效操作异常

问题描述:

我的数据库'cable','cablewire'中有两个表。第二个表上的复合关键字存在于两个字段id1,id2中。 id1与第一个表的'cable_id'具有多对一的关系(没有外键关联)。要点是我没有在我的数据库中的任何表格之间使用任何关联,也没有任何主键字段会自动生成。为具有组合键和无标识规范的表插入多个实体 - 实体框架抛出无效操作异常

当我添加的数据与主键值手动给两个表...

cable newCable = new cable(); 
       newCable.cable_id = newId; 
       newCable.wireCount = 5; 

dbContext.Cables.Add(newCable); 
dbContext.SaveChanges(); 

for(i=0; i<cable.wireCount; i++) 
{ 
    cableWire newCableWire = new cableWire(); 
      newCableWire.id1 = newId; 
      newCableWire.id2 = newId + i + 1; 
    dbContext.CableWires.Add(newCableWire); 
} 
dbContext.SaveChanges(); 

当我打电话调用SaveChanges后的for循环迭代时,抛出InvalidOperationException异常...这里是.....

enter image description here

我不知道是怎么回事错....虽然组合键(ID1 + ID2)为任何两个记录不同,但还是说不能插入重复主键值为实体类型' cablewire”。有人请帮助我,我做错了什么..

我不能明确复制我的复合键字段值?我正在使用实体框架5

尝试将dbContext.SaveChanges();放入for循环中。

+0

我也尝试过......但结果是相同的结果... –