Я знаю, как включить отладку, поэтому все запросы, которые запускаются, отображаются в моей консоли. Есть ли способ просто вывести сгенерированный запрос без его выполнения?Могу ли я получить сгенерированный запрос без его выполнения?
ответ
Нет, вы не можете. NHibernate не знал бы, что вернуть в результате метода запроса, если он не выполнил фактический SQL против реальной базы данных. Например:
Client[] = Client.FindAll();
метод должен вернуть некоторую совокупность клиентов, и если ActiveRecord/NHibernate не посылал SQL в базу данных он не будет знать, что вернется.
Спасибо. Я также нашел http://stackoverflow.com/questions/1882583/hibernate-and-dry-running-hql-queries-statically, что связано. – Mike
В ретроспективе я думаю, что я неправильно понял вопрос, я не понимаю, почему NHibernate не может выставить метод, который просто выводит сгенерированный запрос, чтобы пользователь мог делать с ним все, что захочет. Конечно, если бы не те же методы, которые мы регулярно используем для запуска запросов ... –
Почему? что-то вроде тестирования? –
Нет особых причин. Я просто задавался вопросом, возможно ли это. – Mike