1
我有以下實體:EF代碼第一:更新實體
Partial Public Class Workflow
Sub New()
Activities = New List(Of WFActivity)
End Sub
<Key()>
Public Property ID As Long
Public Property Customer As Customer
<Required(), MaxLength(100)>
Public Property Name As String
Public Property Activities As List(Of WFActivity)
End Class
添加和更新我用下面的程序的實體:
Public Sub SaveWorkflow(ByVal WF As Workflow)
Dim wfa As WFActivity
Try
Using ctx = New MyContext
ctx.Workflow.Add(WF)
If WF.ID > 0 Then
ctx.Entry(WF).State = EntityState.Modified
End If
For Each wfa In WF.Activities
If wfa.ID > 0 Then
ctx.Entry(wfa).State = EntityState.Modified
End If
Next
If WF.Customer.ID > 0 Then
ctx.Entry(WF.Customer).State = EntityState.Modified
End If
ctx.SaveChanges()
End Using
Catch ex As Exception
End Try
End Function
插入一個新的實體工作正常。但是使用相同的WF對象進行第二次更新時,出現以下錯誤:
保存不爲其關係提供外鍵屬性的實體時發生錯誤。 EntityEntries屬性將返回null,因爲單個實體不能被識別爲異常的來源。通過在您的實體類型中公開外鍵屬性,可以更輕鬆地處理保存時的異常。有關詳細信息,請參閱InnerException。
錯誤在哪裏?
類似的問題[here](http://stackoverflow.com/questions/5936880/ef-code-first-4-1-how-to-configure-one-to-many-relationship-with -默認)。 – neizan 2012-07-20 14:41:24
什麼是InnerException? – Slauma 2012-07-20 15:14:52