0

我的數據庫'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

回答

1

嘗試將dbContext.SaveChanges();放入for循環中。

+0

我也嘗試過......但結果是相同的結果... –

相關問題