Обновление коллекций сущностей с помощью NHibernate правильным способом - PullRequest
1 голос
/ 08 января 2010

Простой вопрос о том, как работает NHibernate:
У меня есть родительский объект, который имеет коллекцию других дочерних объектов. Эти дочерние объекты имеют ссылку на родительский объект, которому они принадлежат. Теперь я хочу реализовать метод Add для родительского объекта, который бы добавил к нему дочерний элемент. Должен ли метод Add только добавить дочерний элемент в его новую родительскую коллекцию, или он должен также обновить родительскую ссылку дочернего элемента, или он также должен удалить добавленную сущность из своей предыдущей родительской коллекции? Должен ли я делать все эти вещи в этом методе, или NHibernate сделает что-то для меня?

Спасибо.

1 Ответ

0 голосов
/ 08 января 2010

Вы обязательно должны убедиться, что отношения «действительны» для всех вовлеченных сторон.

Убедитесь, что у родителя есть дочерний элемент в его коллекции children, а у дочернего элемента есть родительский элемент в ссылке parent, и что дочерний элемент удален из его старого parent (если он был у него) , Последний шаг - единственный, для которого я не уверен, что это обязательно.

...