Как установить для всех совпадающих строк свойство isDelete в False? - PullRequest
0 голосов
/ 05 января 2010

Используя Hql или критерии, как я могу обновить много строк и установить для свойства значение false?

т. SQL будет:

ОБНОВЛЕНИЕ UserOrders SET isDeleted = 0 - (логическое значение false) ГДЕ uID = 234

1 Ответ

1 голос
/ 05 января 2010

Если вы не используете бизнес-объект для этого каким-либо другим способом, я думаю, что в этой ситуации я бы обошел NHibernate. То есть: не используйте HQL, но выдайте собственный SQL-запрос. (NHibernate позволяет вам сделать это; проверьте CreateSQLQuery ISession).

Зачем мне это делать? Потому что, когда вы выполняете такой запрос с использованием HQL, я думаю, что NH выберет каждую сущность из базы данных, изменит ее свойство, а затем обновит соответствующую строку. Представьте себе хит производительности. Но я думаю, что HQL не поддерживает запросы UPDATE (но я могу ошибиться в этом).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...