我使用带有流畅映射和 MySQL5Dialect 的 nhibernate 3。我进行分组并尝试获得平均值:
var group = new TotalStatistic();
SelectList(s => s
.SelectGroup(t => t.RegistryName).WithAlias(() => group.Name)
.SelectAvg(t => t.Value).WithAlias(() => group.Average))
.TransformUsing(Transformers.AliasToBean<TotalStatistic>());
但它会生成包含强制转换为十进制的 sql 查询,我在结果中只得到零,而不是我想得到的“0.0035”之类的东西。
SELECT ... avg(cast(this_.Value as DECIMAL)) as y1_ ...