2010-02-17 3 views
1

Я пытаюсь обновить несколько записей с помощью базы данных через NHibernate.NHibernate - Как обновить порядок сортировки

Прямой запрос SQL выглядит следующим образом:

обновления записей набор SortOrder = SortOrder +1 где SortOrder> = 3 и SortOrder < = 100

возможно ли это в NHibernate? Я не хочу подходить к подходу к каждой записи и обновлять их по одному за раз, поскольку этот метод можно использовать в базах данных с несколькими тысячами записей.

ответ

2

Похоже, вы просто хотите отправить команду в БД для обновления. Если это так, вы можете использовать метод CreateSQLQuery для объекта сеанса для этого. More info here.

Если вы пытаетесь сохранить сразу несколько объектов, вам необходимо выполнить пакетное обновление. More info on this from here.

+0

Независимо от того, создана ли платформа CreateSQLQuery? Я думал, что я читаю, где Criteria> HQL> SQL в отношении независимости платформы, но я могу ошибаться. –

+0

CreateSQLQuery не является независимым от платформы. Вы можете делать звонки, которые теоретически могут не поддерживать разные БД. – LordHits

+0

Есть ли способ выполнить такое же обновление через HQL? –