Обработка контекстов объектов в приложениях MDI с Entity Framework - PullRequest
2 голосов
/ 10 января 2012

Я создаю MDI-приложение с использованием Entity Framework, но мне интересно, как использовать контекст объекта во всех окнах. Я планировал использовать один контекст (singleton) в приложении, но в моих требованиях я должен обрабатывать отмену изменений для каждого окна (если пользователь не хочет сохранять изменения). Более того, все должно быть связано, поэтому изменение в окне должно обновить соответствующий объект в другом окне.

Поскольку у нас может быть несколько окон, трудно увидеть в контексте, какая сущность была изменена, каким окном и отменить изменения, если это необходимо. Я думал, что мы могли бы создать локальный контекст для каждого окна, но тогда было бы трудно поддерживать его (а затем, возможно, синхронизировать этот локальный контекст с глобальным).

Есть ли у вас мысли о том, как обрабатывать контекст в таком случае?

Спасибо.

1 Ответ

1 голос
/ 10 января 2012

Ваши требования просто говорят, что ваши окна не могут быть связаны напрямую с контекстом. Вы должны иметь промежуточный уровень, выполняющий логику вашего приложения, такую ​​как синхронизация и отмена данных окна, и этот уровень будет взаимодействовать с контекстом только для загрузки или сохранения данных. В вашем случае слой может называться Presenter => Шаблон MVP с одним презентатором, обрабатывающим несколько окон +, вероятно, шаблон команды для обработки отмены, если у вас много типов операций.

...