NHibernate репозиторий SaveOrUpdate граф объектов - PullRequest
1 голос
/ 01 февраля 2011

Я изучаю (свободно) NHibernate, и в настоящее время задача состоит в том, чтобы понять, как писать Репозитории и Классы DataService . Если я получил график объекта, и изменения были внесены; Как в корневую коллекцию объектов, так и в дочерние коллекции; некоторые удалены, некоторые добавлены, некоторые обновлены. Могу ли я просто выбросить весь этот объект в сеанс. SaveOrUpdate ?

Это то, чем я сейчас занимаюсь, и это дает мне множество разных исключений. Мне просто нужно знать, какие шаги мне нужно предпринять, чтобы сделать это правильно? Нужно ли детализировать и сохранять каждую дочернюю коллекцию отдельно? Или даже каждый дочерний объект?

Было бы очень полезно привести несколько простых примеров по этому вопросу.

1 Ответ

1 голос
/ 01 февраля 2011

Есть множество замечательных примеров, которые можно найти в Google, но область Getting Started на NHForge.org - отличное место для начала.Попробуйте поискать NHibernate Cascade или FluentNHibernate Cascade.

Чтобы напрямую ответить на ваш вопрос, вы должны убедиться, что вы включили соответствующий тип каскада для свойств в ваших сопоставлениях или (мое предпочтение) в вашей конфигурации NHibernate через Соглашения FluentNH .После того, как это настроено, у вас должна быть возможность SaveOrUpdate () сущности верхнего уровня, и все операции удаления / обновления / создания будут отправлены в базу данных.

...