В моей функции переопределения для функции Entity Frameworks SaveChanges() Я пытаюсь сериализовать исходный объект и измененный объект, однако мне трудно найти, что такое тип объекта что я могу передать его как параметр объекту XmlSerializer.Получить тип объекта из Entity Framework ObjectStateEntry
Public Overrides Function SaveChanges() As Integer
ChangeTracker.DetectChanges()
Dim ctx As ObjectContext = DirectCast(Me, IObjectContextAdapter).ObjectContext
Dim objectStateEntryList As List(Of ObjectStateEntry) = ctx.ObjectStateManager.
GetObjectStateEntries(EntityState.Added Or EntityState.Modified Or EntityState.Deleted).ToList()
For Each Entry As ObjectStateEntry In objectStateEntryList
If Not Entry.IsRelationship Then
Dim objectType As String = Entry.Entity.GetType.Name.Split("_").First
Select Case Entry.State
Case EntityState.Modified
For Each propertyName As String In Entry.GetModifiedProperties()
Dim ser As New XmlSerializer(Entry.Entity.GetType)
Dim sw As New IO.StringWriter
ser.Serialize(sw, Entry.OriginalValues)
Dim serializedObject As String = sw.ToString
Next
End Select
End If
Next
Return MyBase.SaveChanges()
End Function
Я попытался вышесказанное, но не помогло.
Perfect, спасибо. Как расширение этого, как получить исходный объект и новый объект в формате, который я могу сериализовать? –
@JacobMason Я отредактировал ответ. – user2216
Я получаю «Объект должен реализовать IConvertible». –