Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ленивые свойства в NHibernate, Принудительная загрузка 
:(
    Опции темы
emmanuil
Дата 11.6.2009, 13:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 380
Регистрация: 9.1.2007

Репутация: 1
Всего: 3



Здравствуйте!
Вопрос такой.
Как загрузить ленивое свойство объекта в коде?
PM MAIL   Вверх
Idsa
Дата 11.6.2009, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2086
Регистрация: 5.12.2006
Где: Томск

Репутация: 15
Всего: 62



Оно само загрузится при обращении к нему (правда, в рамках, сессии).


--------------------
Мой блог: alexidsa.blogspot.com
PM MAIL ICQ   Вверх
emmanuil
Дата 11.6.2009, 13:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 380
Регистрация: 9.1.2007

Репутация: 1
Всего: 3



Да, вот именно что в рамках сессии. Мне нужно загрузить кое-какие свойства и отсоединить объект. В других случаях мне эти свойства загружать не надо. Поэтому мне тут нужна принудительная загрузка. Нашел NHibernateUtil.Initialize(). Но он не загружает все дерево, а только указанные объект без загрузки его свойств.
Ну все равно спасибо! Может есть какой-нибудь метод для загрузки всего графа?

PM MAIL   Вверх
Idsa
Дата 11.6.2009, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2086
Регистрация: 5.12.2006
Где: Томск

Репутация: 15
Всего: 62



Цитата(emmanuil @  11.6.2009,  17:51 Найти цитируемый пост)
Нашел NHibernateUtil.Initialize(). Но он не загружает все дерево, а только указанные объект без загрузки его свойств.

Правильно. Те-то свойства тоже lazy, поэтому они ждут, когда к ним обратятся явно.

Цитата(emmanuil @  11.6.2009,  17:51 Найти цитируемый пост)
Ну все равно спасибо! Может есть какой-нибудь метод для загрузки всего графа?

Гуглить времени нет... но, думаю, можно сообразить что-нибудь на базе Reflection.


--------------------
Мой блог: alexidsa.blogspot.com
PM MAIL ICQ   Вверх
emmanuil
Дата 11.6.2009, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 380
Регистрация: 9.1.2007

Репутация: 1
Всего: 3



Вот рефлекшином не хотелось бы. Может быть есть метод который весь граф загружает?! я такого не нашел пока. Сейчас сделал циклом и нужные свойства загружаю, мне этот вариант не очень нравится, но другого пока не нашел.
PM MAIL   Вверх
SLeN
Дата 22.6.2009, 16:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 137
Регистрация: 8.12.2006
Где: SPB

Репутация: 1
Всего: 4



from "Nhibernate in Action"

Цитата

EAGER (OUTER JOIN) FETCHING
Lazy association fetching can help reduce database load and is often a good default
strategy. But it’s like a blind guess as far as performance optimization goes.
Eager fetching lets you explicitly specify which associated objects should be loaded
together with the referencing object. NHibernate can then return the associated
objects in a single database request, utilizing a SQL outer join. Performance optimization
in NHibernate often involves judicious use of eager fetching for particular transactions.
Even though default eager fetching may be declared in the mapping file, it’s
more common to specify the use of this strategy at runtime for a particular HQL or
criteria query.

--------------------
Православные не проходите мимо! Люди нуждаются в вас
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0488 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.