Entity Framework: при обновлении не запускается уведомление о собственности? - PullRequest
0 голосов
/ 12 апреля 2010

У меня есть класс Item.В моем окне отображается TreeView с этими элементами, а справа есть форма сведений (для редактирования имени Item).

В любом случае, когда я редактирую имя элемента в TextBox и затем нажимаю ОтменаКнопка (которая вызывает Context.Refresh(StoreWins, myItemEntity)), пользовательский интерфейс не обновляется со старыми значениями из базы данных сразу - я должен переключиться, например, на другую сущность в дереве, и затем он обновляется.проблема здесь?

1 Ответ

1 голос
/ 17 июня 2010

Просто чтобы завершить этот вопрос.

В моем случае проблема заключалась в том, что TreeView действительно был привязан к объекту, который содержит свойство item, например ::

class ItemContainer
{
    public Item Item { get; set; }
}

Так что это было свойство навигации другого объекта. Тем не менее, мы можем сказать, что TreeView, очевидно, не проверяет изменения в реквизитах, а класс EntityObject не запускает событие PropertyChanged при изменении свойства навигации. Исправление для этого заключается в том, чтобы либо иметь альтернативное свойство (которое не создается автоматически EF), которое будет запускать OnPropertyChanged внутри обработчика события AssociationChanged.

Или, если вы используете POCO, это еще проще - в вашем виртуальном свойстве Item вы можете сразу запустить OnPropertyChanged:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...