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