Можно ли получить sql, который будет создан nhibernate в вашем коде, без его фактического запуска?
У меня есть сложный объект критериев, который я создал с помощью API критериев. Этот объект критериев формирует основу для различных операторов выбора. Затем я могу взять эту основу и добавить дополнительные критерии, которые мне нужны в различных сценариях в моем приложении.
Теперь мне нужно добавить предложение Have к одному из моих операторов select, и, по-видимому, это не вариант, использующий критерии api. Я могу создать требуемую проекцию, и если я просматриваю сгенерированный sql, все, что мне нужно добавить в конец существующих критериев, это ...
HAVING SUM(J.HoursAssigned) <> sum(JTB.HourQty)
Очень неприятно быть так близко, но мне кажется, что я не могу выделить одну лишнюю строку в нижней части сгенерированного SQL.
Я думаю, что если бы я мог извлечь сгенерированный SQL, я мог бы отметить нужное мне предложение, и я мог бы отправить все это через Nhibernate SQLQueryCriteria.
Я знаю, что это не идеально, но мне это показалось бы лучше, чем один запрос, написанный на HQL или SQL, когда остальные используют общую базу критериев.
Возможно ли это и хорошая ли это идея? Также приветствуются любые альтернативы.