Пользовательская функция SQL для диалекта NHibernate

Разумно для конструктора выдать исключение, пока это моется правильно. Если Вы следуете парадигма RAII (Приобретение Ресурса Является Инициализацией), тогда, конструктору довольно свойственно сделать значимую работу; правильно написанный конструктор в свою очередь вымоется после себя, если это не может полностью быть инициализировано.

5
задан Kristoffer Ahl 4 December 2009 в 11:17
поделиться

2 ответа

Я думаю, Где - это оператор SQL, а не оператор HQL. Значит, он не знает функции. Он работает только для HQL, в запросах или фильтрах.

3
ответ дан 15 December 2019 в 01:03
поделиться

Я думал, вам нужно поставить перед своей функцией префикс "dbo". всякий раз, когда вы его использовали. Мой собственный диалект имеет следующее:

RegisterFunction("dbo.isbounded", new SQLFunctionTemplate(NHibernateUtil.Double, "dbo.IsBounded(?1, ?2, ?3, ?4, ?5, ?6)"));

Затем он вызывается с использованием

Expression.Sql("dbo.IsBounded(...)")
1
ответ дан 15 December 2019 в 01:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: