Выполните встроенный sql для обновления таблицы, используя nHibernate - PullRequest
3 голосов
/ 27 января 2011

Извините, если раньше об этом спрашивали, я выполнил поиск, но ничего не смог найти.

Возможно ли выполнить встроенный sql в nHibernate?У меня есть что-то вроде этого, которое я хотел бы запустить против дБ:

_session.CreateSQLQuery(
              @"update things
                set defaultThing = 0 where parentId = :parentId AND thingId <> :thingId")
                .SetInt32("parentId ", parent.Id)
                .SetInt32("thingId", thing.Id)
                ;

Полагаю, я мог бы перебрать кучу «вещей» и установить для параметра defaultThing значение false, затем вызвать _session.Update(thing), ноесли бы я мог сделать это, как я обрисовал выше, это было бы здорово.

1 Ответ

4 голосов
/ 27 января 2011

Да, просто используйте ExecuteUpdate() в этом запросе.Это эквивалент IDbCommand.ExecuteNonQuery().

Как уже упоминалось, вы также можете использовать HQL.Проверка 12.3.Операции в стиле DML

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