Я не могу получить sum(), чтобы возвращать десятичное число, и он всегда возвращает int64, усекающий десятичные знаки. У меня есть Googled целый день, но я не могу найти настоящую работу. У меня есть таблица БД под названием ProductPurchase сКак получить суммарную функцию NHibernate sum() для возврата десятичного числа?
QtyPurchased (INT) и UnitPurchasePrice (деньги) колонн,
эти отображенных на объект C# POCO с использованием NHibernate, где QtyPurchase является ИНТ и UnitPurchasePrice является десятичное свойство.
У меня есть следующий запрос HQL, где я хочу, чтобы получить общую сумму покупки за определенный день:
выберите сумму (detail.QtyPurchased * detail.UnitPurchasePrice) из Domain.Entities.ProductPurchase AS подробно где yesif, detail.PurchaseDate,: trading_date) = 0
Теперь по какой-либо причине запрос.UniqueResult всегда возвращает целое число Int64, обрезая десятичные знаки, тогда как генерируемый SQL, очевидно, возвращает правильное число в комплекте с знаков после запятой. Может кто-то пролил somelight на том, как заставить это возвращать десятичное число?
Я заметил, что если я использую SQL (то есть CreateSqlQuery), я могу вернуть десятичную дробь. Это ошибка с Nhibernate?
Благодаря осыпает
Стивен Kuo
Удивительный, это сработало !!! Большое вам спасибо Nhibernate Legend. Это была такая проблема с волосами, и теперь я могу написать правильный HQL. Еще раз спасибо. – 2009-04-07 23:40:11
Просто опубликовано на JIRA, http://nhjira.koah.net/browse/NH-1734 Проголосуйте за него. Спасибо. – 2009-04-08 00:00:28
Спасибо большое! У меня такая же проблема с orderrow.Amount * product.Price. Я перевернул свойства и работал. Очень позор, что наиболее часто используемый продукт, такой как NHibernate, имеет эти недостатки/ошибки в настоящее время. –