2015-12-29 4 views
0

Я пытаюсь реализовать способ помещать изменения в контекст EF6, пока я его размещаю и перезагружаю, или обновляю контекст без потери изменений.Entity Framework - обновить без потери изменений

У меня есть много сценариев, в которых пользователь обновляет отношения внешнего ключа на объекте, и им необходимо обновить выпадающие списки в форме с новыми данными, не перезагружая всю их работу.

Например: Объект начинается следующим образом:

Foo.Name = "Joe" 
Foo.Bar = SomeBar 

Пользователь хочет изменить объект

Foo.Name = "Sam" 
Foo.Bar = NewBar 

Но они не могут, потому что NewBar должен быть создан. Итак, пользователь открывает форму создания Bar (которая использует другой контекст EF) и делает NewBar. Когда они возвращаются к форме редактирования Foo, они ожидают увидеть NewBar в раскрывающемся списке, но его там нет. Они могут закрыть и снова открыть форму, чтобы увидеть NewBar, но теперь им нужно снова изменить «Джо» на «Сэм».

Как я могу обойти это или реализовать шаблон, который делает его не относящимся к проблеме?

+0

Пожалуйста, включите ваш код, чтобы лучше понять ваш вопрос. –

+0

@EriawanKusumawardhono У меня нет явного примера кода, который бы стал более понятным, чем он есть. Это сводится к тому, что можно кэшировать изменения в контексте EF, пока он обновлен из базы данных. – MrZander

+0

Вы можете попробовать отделить Foo от контекста, а затем, когда вы создаете контекст, снова присоедините Foo, чтобы он имел старые данные. –

ответ

0

В основном это не проблема.

Я использую Messenger для уведомления о моих контекстах, когда они нуждаются в обновлении.

Смежные вопросы