NHibernate частичная загрузка объекта из базы данных, частичная загрузка из WCF - PullRequest
0 голосов
/ 16 сентября 2011

Я смотрел на загрузку объектов из WCF:

NHibernate: отложенная загрузка IUserType

NHibernate: многозначный IUserType

Предварительная загрузка IUserType со значениями из веб-сервиса

Я разработал, как лениво загружать сущность из WCF: вам нужно создать свой собственный прокси, который вызывает WCFи верну его из IUserType, но в какой-то момент я это опубликую в блоге.

Теперь у меня вопрос: могу ли я частично загрузить объект из базы данных обычным способом, поэтому некоторые свойства заполняются (те, которыехранится локально) но для других свойств он должен вызывать WCF?Локальные свойства - это те, которые могут быть найдены или возвращены в запросе (не может вызвать WCF для каждого - будет слишком медленным), а другие будут вызваны, если системе потребуется выполнить некоторую бизнес-логику для него.

Проблема в том, что я не думаю, что могу использовать IUserType здесь, потому что мне нужно было бы использовать bag / set для своих коллекций, так как я хотел бы, чтобы они загружались с нетерпением.Есть ли способ, которым это можно сделать?

Редактировать:

Было бы идеально, если бы я мог заставить NHibernate вернуть прокси, и некоторые, как я мог бы получить доступперехватчику на этом прокси или даже указать мой собственный перехватчик?

1 Ответ

2 голосов
/ 16 сентября 2011

возможно ввести свой собственный перехватчик. Вам необходимо предоставить перехватчик для сеанса, который создает экземпляры объектов и устанавливает свой собственный LazyInitializer, см. здесь в разделе Завод прокси

...