我正試圖在表TB_FOO中插入foo類型的實體列表。ObjectStateManager中已存在具有相同鍵的對象。現有對象處於未更改狀態
Public Sub Insert(ByVal _lstFoo As List(Of TB_FOO))
Try
For i As Integer = 0 To _lstFoo.Count - 1
Dim foo As TB_FOO = _lstFoo(i)
_MyEntityManager.AddToTB_FOO(foo)
Next
_MyEntityManager.SaveChanges()
_MyEntityManager.AcceptAllChanges()
Catch ex As Exception
Debug.WriteLine(ex.StackTrace)
End Try
End Sub
在foo對象中有2個關係。一個是實體TB_FOO2,它是剛纔在代碼中插入的對象,另一個是從數據庫中選擇的TB_FOO3。
在循環的第一次迭代中,當它到達_MyEntityManager.AddToTB_FOO(foo)
它拋出
具有相同鍵的對象已經 存在於ObjectStateManager錯誤。 現有對象處於未更改 狀態。如果對象在添加狀態下爲 ,則只能將對象添加到 ObjectStateManager中。
任何想法爲什麼會引發此錯誤?
顯然,當我創建了_lstFoo我沒有保存並接受所有變更爲另一個對象並自動依次做了刀片......現在我保存這個方法被調用後的對象 – Drahcir 2010-11-17 07:28:20