0
Вот мой код:Entity Framework: сохранить объект?
Partial Public Class AppsEntities
Private Sub OnContextCreated()
AddHandler Me.SavingChanges, AddressOf context_SavingChanges
End Sub
Private Shared Sub context_SavingChanges(ByVal sender As Object, ByVal e As EventArgs)
For Each entry As ObjectStateEntry In DirectCast(sender, ObjectContext).ObjectStateManager.GetObjectStateEntries(EntityState.Modified)
If Not entry.IsRelationship And entry.Entity IsNot Nothing Then
For Each propName As String In entry.GetModifiedProperties()
Dim audit As New History
audit.action = "Changed information in " & propName & " to " & entry.CurrentValues(propName) & " from " & entry.OriginalValues(propName)
audit.action_by = "dmackey"
audit.action_date = Date.Now
audit.extension_id = entry.CurrentValues.GetValue(1)
Next
End If
Next
End Sub
End Class
Как сохранить этот новый объект, который я создал? В LINQ я хотел бы сделать что-то вроде:
datasource.object.insertonsubmit(audit)
datasource.SubmitChanges()
Работает ли это для вас? Вы можете получить (дождитесь его ...) * переполнение стека * с помощью этого кода. У вас есть обработчик SavingChanges, который вызывает SaveChanges(). Ну, вызов SaveChanges() вызывает событие SavingChanges, которое вызовет ваш обработчик, который вызовет SaveChanges(), который будет ... переполнением стека. Просто позвоните в SaveChanges(). Это должно быть сделано с вашего сайта. –
Он не добавляет его, если у меня нет контекста.SaveChanges() там. Это работает для меня вот так. Я предполагаю, возможно, что Me.SavingChanges отличается от экземпляра, чем context.SaveChanges? – davemackey