Я пытаюсь реализовать способ помещать изменения в контекст EF6, пока я его размещаю и перезагружаю, или обновляю контекст без потери изменений.Entity Framework - обновить без потери изменений
У меня есть много сценариев, в которых пользователь обновляет отношения внешнего ключа на объекте, и им необходимо обновить выпадающие списки в форме с новыми данными, не перезагружая всю их работу.
Например: Объект начинается следующим образом:
Foo.Name = "Joe"
Foo.Bar = SomeBar
Пользователь хочет изменить объект
Foo.Name = "Sam"
Foo.Bar = NewBar
Но они не могут, потому что NewBar
должен быть создан. Итак, пользователь открывает форму создания Bar
(которая использует другой контекст EF) и делает NewBar
. Когда они возвращаются к форме редактирования Foo
, они ожидают увидеть NewBar
в раскрывающемся списке, но его там нет. Они могут закрыть и снова открыть форму, чтобы увидеть NewBar
, но теперь им нужно снова изменить «Джо» на «Сэм».
Как я могу обойти это или реализовать шаблон, который делает его не относящимся к проблеме?
Пожалуйста, включите ваш код, чтобы лучше понять ваш вопрос. –
@EriawanKusumawardhono У меня нет явного примера кода, который бы стал более понятным, чем он есть. Это сводится к тому, что можно кэшировать изменения в контексте EF, пока он обновлен из базы данных. – MrZander
Вы можете попробовать отделить Foo от контекста, а затем, когда вы создаете контекст, снова присоедините Foo, чтобы он имел старые данные. –