обновить родительскую причину ленивой нагрузки на дочернюю коллекцию - PullRequest
0 голосов
/ 24 мая 2011

У меня есть отношения родитель + ребенок, а дочерняя коллекция отображается как ленивая.Я выбираю родителя, и, конечно, из-за ленивой загрузки дочерняя коллекция не загружается.Но когда я хочу обновить свой родительский NH, сначала загружается дочерняя коллекция.Мне интересно это по умолчанию, или я где-то ошибся.Коллекция ленивая, обратный = true и каскад = "all-delete-orphan".Я предполагаю, что из-за каскадного отображения NH хочет проверить изменения в дочерней коллекции, и к нему обращаются впервые, поэтому ленивая загрузка сделала свое дело.Пожалуйста, кто-нибудь может подтвердить это.

1 Ответ

0 голосов
/ 24 мая 2011

При обновлении родительского объекта NHibernate не должен загружать дочернюю коллекцию , если только не изменяет столбец отношения внешнего ключа.

Inverse = "истина" Это означает, что объекты в дочерней коллекции отвечают за управление отношениями с родителем.

каскадный = "все-удалить-сирота" При добавлении нового дочернего объекта в коллекцию он будет каскадно перемещаться в БД без необходимости явного вызова Session.Save (childobj). Это также означает, что при удалении родительского объекта весь дочерний объект коллекции также будет удален из БД.

Я использую эти точные настройки для своих дочерних отношений коллекции и не вижу этого поведения.

Не могли бы вы опубликовать свои карты / беглые карты / тестовый код, которые могут дать более полное представление о проблеме под рукой?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...