Свойства навигации EF не вызывают события OnPropertyChanging и OnPropertyChanged.
При просмотре автоматически сгенерированного кода платформы сущностей простое свойство будет иметь установщик, который выглядит следующим образом:
Set
OnNameChanging(value)
ReportPropertyChanging("Name")
_Name = StructuralObject.SetValidValue(value, false)
ReportPropertyChanged("Name")
OnNameChanged()
End Set
Однако свойства навигации имеют такой установщик:
Set
If (Not value Is Nothing)
CType(Me,EntityWithRelationships).RelationshipManager.InitializeRelatedCollection(Of DataType)("MyDatabase.FK_FKTable_PrimaryKeyTable", "FKTable", value)
End If
End Set
Похоже, что свойства навигации должны вызывать просто вызов 4 методов уведомления об изменении. Есть ли у вас какие-либо идеи о том, почему генератор EF будет реализован таким образом? Есть ли вариант где-нибудь включить уведомление или обходной путь? Кроме того, я предполагаю, что редактирование кода, сгенерированного дизайнером, является плохой практикой, верно?
Спасибо.