为具有组合键和无标识规范的表插入多个实体 - 实体框架抛出无效操作异常
问题描述:
我的数据库'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异常...这里是.....
我不知道是怎么回事错....虽然组合键(ID1 + ID2)为任何两个记录不同,但还是说不能插入重复主键值为实体类型' cablewire”。有人请帮助我,我做错了什么..
我不能明确复制我的复合键字段值?我正在使用实体框架5
答
尝试将dbContext.SaveChanges();
放入for
循环中。
我也尝试过......但结果是相同的结果... –