NHibernate позволяет мне запрашивать базу данных и получать IList объектов взамен. Предположим, я получаю список из нескольких десятков объектов и изменяю полдюжины или около того. У NHibernate есть способ сохранить изменения в коллекции, или мне нужно сохранять каждый объект, когда я его меняю?Сохранять коллекцию верхнего уровня?
Вот пример. Предположим, что я запустил следующий код:
var hql = "from Project";
var query = session.CreateQuery(hql);
var myProjectList = query.List<Project>();
Я верну IList, который содержит все проекты. Теперь предположим, что я выполнить следующий код:
var myNewProject = new Project("My New Project");
myProjectList .Add(myNewProject);
И давайте говорить, что я сделать это несколько раз, добавив несколько новых проектов в список. Теперь я готов сохранить изменения в коллекции.
Я хотел бы сохранить изменения, просто передав myProjectList текущему ISession для обновления. Но ISession.SaveOrUpdate(), похоже, принимает только отдельные объекты, а не коллекции, такие как myProjectList. Есть ли способ, которым я могу сохранить изменения в myProjectList, или мне нужно сохранять каждый новый объект по мере его создания? Спасибо за вашу помощь.
Дэвид Veeneman
Foresight Systems