У меня есть следующий код для выполнения операции на уровне базы данных через наш уровень активной записи ORM.
public static void Vacuum() {
Execute(
delegate(ISession session, object instance) {
ISQLQuery query =
session.CreateSQLQuery(@"
VACUUM billableaddresses;
")
query.List();
return null;
}, null);
}
Обычно, когда мне нужно сделать такой не-запрос (признаю, что это очень редко), я просто ставлю select '1'; после запроса, который успокаивает Active Record достаточно, чтобы выполнить запрос как не-запрос.
Однако команда postgres 'vacuum' должна выполняться сама по себе и не может быть частью запроса с несколькими операторами.
Глядя на интерфейс ISQLQuery, похоже, нет метода для выполнения не-запроса, поэтому мне было интересно, как это можно сделать?