gpt4 book ai didi

nhibernate - 如何让 NHibernate 聚合函数 sum() 返回小数?

转载 作者:行者123 更新时间:2023-12-03 22:32:19 26 4
gpt4 key购买 nike

我无法让 sum() 返回小数,它总是返回截断小数的 int64。我用谷歌搜索了一整天,但仍然找不到真正的解决方法。我有一个名为 ProductPurchase 的数据库表

购买数量(整数)和UnitPurchasePrice(money) 列,

这些使用 NHibernate 映射到 C# POCO 对象,在哪里QtyPurchase 是一个 int,UnitPurchasePrice 是一个 decimal 属性。

我有以下 HQL 查询,我想在其中获取给定日期的总购买量:

选择总和(详细信息。购买数量 * 详细信息。单位购买价格)来自 Domain.Entities.ProductPurchase AS 详细信息其中 datediff("day", detail.PurchaseDate, :trading_date) = 0

现在无论出于何种原因,query.UniqueResult 总是返回一个 Int64 整数,截断小数点,而生成的 SQL 显然返回正确的带小数点的数字。有人可以阐明如何让它返回小数点吗?

我注意到如果我使用 SQL(即 CreateSqlQuery),我可以取回小数。这是 Nhibernate 的错误吗?

谢谢你

史蒂芬·郭

最佳答案

倒置因素的顺序为我做了:(价格 * 数量)而不是(数量 * 价格)。

我猜它一定是只检查第一个参数类型,请填写JIRA issue如果此解决方法对您有用。

关于nhibernate - 如何让 NHibernate 聚合函数 sum() 返回小数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/724230/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com