Имеется один общий DataContext, содержащий несколько DbSet под разные сущности.
Есть одна форма, слева кнопки, ApplicationViewModel осуществляет переход между UserControl(под каждый из которых свой ViewModel)
Эти ViewModel в свою очередь содержат по экземпляру DataContext. И коллекции для соответствующих сущностей. После переключения на другой UserControl, предыдущий ViewModel так и остается висеть, ибо заного подгружать коллекции довольно затратно. Не знаю в чем именно проблема, но даже на загрузку коллекции из двух элементов уходит пару секунд.
Проблемы начались когда необходимо выстраивать взаимоотношения между разными объектами.
Например:
При удалении Customer[a], необходимо подгрузить Orders, обойти их, найти у кого CustomerID равен удаляемому объекту, и в зависимости от этого или удалить объект, или скрыть. Насколько такой подход нормальный?
Окно с редактированием заказа. Напрямую привязывается к Order. У Order есть только ManagerID, CustomerID, но во View нужен ComboBox, в котором можно будет выбрать объекты, и сменить CustomerID \ ManagerID. Как лучше поступить здесь?
Что делать с долгой подгрузкой? Или это вполне нормально что уходит определенное время?
Подгружаю так:
Создание ViewModel. Запуск асинхронного метода для подгрузки коллекции.
Создание и запуск окна
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости