#c# #nhibernate #hql #castle-activerecord
#c# #nhibernate #hql #castle-activerecord
Вопрос:
Я использую NHibernate с активной записью и пытаюсь суммировать столбец и вернуть результат. Столбец является десятичным числом (38,12). Однако, когда я делаю это, я получаю исключение SQL:
«Ошибка арифметического переполнения при преобразовании числового типа данных в числовой»
Я запустил профилировщик и вижу, что проблема заключается в том, что генерируемый SQL-запрос использует десятичную систему счисления (19,5).
Есть мысли о том, как это обойти? Я включил часть моего HQL ниже:
select new MyObject(
cast(sum(abs(oo.Total)) as decimal)
)
from OtherObject oo
Комментарии:
1. Я получил эту ошибку при использовании ODP.net . Я обошел это, используя функцию базы данных ROUND, чтобы ограничить количество десятичных знаков. Надеюсь, это поможет.