Дескриптор не инициализированной ошибки - PullRequest
3 голосов
/ 18 августа 2011

У меня есть приложение wpf, и я использую MVVM. Я связал сетку данных непосредственно с моделью представления для обновления, добавления и удаления. Там нет кнопок для этих действий. все это прекрасно работает через связанные свойства. За исключением одного выпуска.

если пользователь закрывает представление с незафиксированными изменениями в сетке данных, я пытаюсь зафиксировать это в дескрипторе модели представления. Который затем вызывает метод ADD или update. Но когда

Context.SaveChanges(); 

вызывается, я получаю внутреннее исключение "Ручка не инициализирована".

Datacontext не является нулевым. Я создаю текст данных в базовом классе ViewModels и закрываю его в деструкторе базового класса viewModels. Пошаговое выполнение кода показывает, что деструктор базового класса еще не был вызван.

Ниже мой след стека.

 at System.Data.Mapping.Update.Internal.UpdateTranslator.Update(IEntityStateManager stateManager, IEntityAdapter adapter)
 at System.Data.EntityClient.EntityAdapter.Update(IEntityStateManager entityCache)
 at System.Data.Objects.ObjectContext.SaveChanges(SaveOptions options)
 at System.Data.Objects.ObjectContext.SaveChanges()
 at InspectorGeneral.ViewModel.VMItemList.Update(ItemsList obj)
 at InspectorGeneral.ViewModel.VMItemList.Modify(ItemsList obj)
 at InspectorGeneral.ViewModel.VMItemList.set_SelectedListItem(ItemsList value)
 at InspectorGeneral.ViewModel.VMItemList.Finalize()

Может кто-нибудь указать мне правильное направление, почему эта строка кода не работает.

привет

1 Ответ

3 голосов
/ 28 июля 2012

Я попытался выполнить вызов базы данных в Finalize , а также получил эту же ошибку.

Единственный вариант - исключить его из Finalize .

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