Проверка того, какая сущность обновляется в SavingChanges - PullRequest
0 голосов
/ 27 апреля 2011

У меня есть обработчик, который вызывает выполнение sub context_SaviningChanges при обновлении одного из объектов сущности, например так:

AddHandler Me.SavingChanges, AddressOf context_SavingChanges

Я хочу, чтобы для каждой сущности был выполнен определенный кодобновляется.Итак, если это «телефонная» сущность, я хочу запустить один фрагмент кода, но если это «строительная» сущность, я хочу вызвать другой фрагмент кода.В псевдокоде я хочу сделать что-то вроде этого:

For Each entry as ObjectStateEntry in DirectCast(sender, ObjectContext).ObjectStateManager.GetObjectStateEntries(EntityState.Modified)
   If entry.entity("phone") Then
       ... code goes here for phone changes ...
   ElseIf entry.entity("building")
       ... code goes here for building changes ...
   Else
       ... code goes here for other entity changes ...
Next

1 Ответ

3 голосов
/ 27 апреля 2011

Вы можете проверить тип ObjectStateEntry.Entity [msdn] :

If TypeOf entry.Entity Is Phone Then
  ' ...
End If
...