#c# #nhibernate #fluent-nhibernate
#c# #nhibernate #свободно-nhibernate
Вопрос:
с помощью NHibernateSession.Удалить (сущность); я могу удалить сущность. Как я могу усечь или удалить все данные в таблице с помощью NHibernate.
я могу сделать с HQL, например: session.CreateQuery ( «усечь имя_таблицы»). executeUpdate () но есть ли какие-либо другие варианты?
Ответ №1:
Пакетные операции, ориентированные на данные, на самом деле не являются тем, для чего предназначен NHibernate. Вы могли бы использовать session.CreateSQLQuery(), а затем просто указать любой SQL, который вы использовали бы в обычных ситуациях. Однако вам следует подумать, действительно ли вам нужно использовать NHibernate для этой конкретной задачи — вероятно, это не имеет смысла.
Комментарии:
1. хм, значит, вы предлагаете использовать для этого чистый DAO.
2. Ну, на мой взгляд, NH имеет смысл только в том случае, если вы используете объектно-ориентированный подход. Если вы думаете в терминах строк данных и хотите выполнять операции в масштабах таблицы, то NH — это просто сложный код, который будет вам мешать.
3. @Jajub — Я не знаю, работает ли это, возможно, так и есть, но для меня не имеет смысла использовать HQL для такого рода вещей.