Существует ли команда обновления пакета в NHibernate? Насколько мне известно, это не так. Так что лучший способ справиться с этой ситуацией? Я хотел бы сделать следующее:Пакетное обновление в NHibernate
- Fetch список объектов (назовем их список пользователей,
List<User>
) из базы данных - Изменить свойства этих объектов, (
Users.Foreach(User=>User.Country="Antartica"
) - Update каждый элемент обратно индивидуально (
Users.Foreach(User=>NHibernate.Session.Update(User)
). - Звоните
Session.Flush
, чтобы обновить базу данных.
Это хороший подход? Это приведет к большому количеству рейсов между моим кодом и базой данных?
Как вы думаете? Или есть более элегантное решение?
3: Я думаю, что вы не имеете в виду совершить, вы имеете в виду обновление. –
Да, вы правы; Я имел в виду обновление. – Graviton
Вы должны удалить Шаг 3, потому что 'Session.Update' не« обновляет каждый элемент назад ». Вместо этого NHibernate наблюдает за всеми изменениями, внесенными в объекты, и самостоятельно записывает изменения в базу данных, без вашего ведома. – yfeldblum