Я не могу заставить sum () вернуть десятичную дробь, и она всегда возвращает int64, усекающую десятичные дроби. Я гуглил целый день, но до сих пор не могу найти настоящую работу. У меня есть таблица БД под названием ProductPurchase с
QtyPurchased (целое)
а также
Колонки UnitPurchasePrice (money),
они сопоставлены с объектом POCO C # с помощью NHibernate,
где
QtyPurchase - это int, а UnitPurchasePrice - это десятичное свойство.
У меня следующий HQL-запрос, по которому я хочу получить общую сумму покупки за данный день:
выберите сумму (detail.QtyPurchased * detail.UnitPurchasePrice)
от Domain.Entities.ProductPurchase AS подробно
где datediff ("день", detail.PurchaseDate,: trading_date) = 0
Теперь, по какой-либо причине, query.UniqueResult всегда возвращает целое число Int64, усекающее десятичные дроби, тогда как сгенерированный SQL, очевидно, возвращает правильное число с десятичными. Может кто-нибудь пролить свет на то, как заставить это вернуть десятичную?
Я заметил, что если я использую SQL (т. Е. CreateSqlQuery), я могу вернуть десятичное число. Это ошибка в Nhibernate?
Спасибо, куча
Стивен Куо