В последнее время у меня было достаточно создания шаблона шаблона ViewModel, поэтому я включил функциональность NotifyPropertyChanged в решение DynamicProxy.Перехватчик/крюк NHibernate для коллекций с лёгкой нагрузкой/Каскад
Для того, чтобы все механизмы Changenotification WPF работали для моей реализации, мне остается только обменять мои коллекции с ObservableCollections, что, к сожалению, приводит к проблеме с производительностью (уведомление об изменении для каждой записи добавлено/удалено, поэтому нет подходит для массового использования, потому что пользовательский интерфейс слишком занят, пытаясь не отставать от списка изменений).
Таким образом, в моей модели, коллекция других моделей (HasMany отношение, то есть) не проводится в списке, но в пределах ObservableCollection-производному, который имеет два метод SuspendCollectionChangeNotification
и ResumeCollectionChangeNotification
(немного как реализации, показанную here) ,
Инфраструктура есть все, теперь я ищу крючок перехватчика, который позволяет мне позвонить Suspend()
до того, как NHibernate загрузит данные Child и Resume()
после того, как все будет готово.
Я немного боюсь, я добавлю это к прокси-серверу, о котором я упоминал выше, который хорошо разбирается в свойствах, которые запрашиваются, но было бы просто сохранить это в перехватчике NHibernate. ..
Привет, Мэтт, я собираюсь проверить это, спасибо! –
Извините, я еще не смог проверить это (сумасшествие праздника). Надеюсь, что так щедрый механизм позволит мне это сделать, как только я вернусь в офис –