Хорошо, у меня есть пара DataBindingSources, указывающих на контекст. [DbSet name] .Local.ToBindingList ()
есть представление данных, привязанное к такому источнику привязки, у меня есть 2 столбца, настроенных на еще 2 источника данных привязки, таким образомпри изменении значений с помощью выпадающих списков изменяется свойство навигации родительского объекта.Пока все хорошо, теперь при проверке состояния с помощью:
if(context.Entry(databindingsource.Current).State == EntityState.Modified)
context.SaveChanges();
состояние не изменяется, но фактически не изменяется, я понимаю, что это было задумано, и это не ошибка.Я не понимаю, как мне сохранить измененное свойство Navigation.Как правильно это сделать?Предполагается ли перехватывать событие OnChange из выпадающего списка, проверять содержимое и устанавливать для объекта значение Modified вручную?разве нет более элегантного способа?
примечания:
- отключена отложенная загрузка
- все объекты загружаются до того, как все будет привязано к сетке данных, выпадающим спискам и текстовым полямих относительные источники данных
- все изменения сохраняются при возникновении события DataBindingSource.CurrentItemChanged
- свойства навигации устанавливаются для уже извлеченных объектов, то есть объектов с неизменным состоянием /
Я хотел бы опубликовать код, но это довольно беспорядок, я думаю, объяснения проблемы должно быть достаточно.но если нет, то я более чем готов.
РЕДАКТИРОВАТЬ: модель сгенерирована, сначала база данных, база данных не содержит FK, поэтому все ассоциации создаются после генерации объекта