C# NHibernate总和始终舍入为整数

C# NHibernate总和始终舍入为整数,c#,nhibernate,fluent-nhibernate,linq-to-nhibernate,C#,Nhibernate,Fluent Nhibernate,Linq To Nhibernate,我对Linq到NHibernate(C#)的和有问题。我无法得到任何总数的小数部分。我想在业务对象中求和的字段是C#decimal,数据库中映射的字段是decimal(8,2) 求和不会引发任何异常,但我只得到一个整数(我用数据库中的SQL进行了检查,求和确实有小数) 我对该字段的Fluent映射为: Map(x => x.Importe).Column("importe").Nullable().CustomSqlType("DECIMAL(10,2)"); 我尝试使用这些表达式以及没

我对Linq到NHibernate(C#)的和有问题。我无法得到任何总数的小数部分。我想在业务对象中求和的字段是C#decimal,数据库中映射的字段是decimal(8,2)

求和不会引发任何异常,但我只得到一个整数(我用数据库中的SQL进行了检查,求和确实有小数)

我对该字段的Fluent映射为:

Map(x => x.Importe).Column("importe").Nullable().CustomSqlType("DECIMAL(10,2)");
我尝试使用这些表达式以及没有强制转换(十进制)的对应表达式,结果总是一样的(很抱歉,我的业务对象是西班牙语,“import”翻译为“amount”,而“vale”则翻译为“concedure”=)

我认为问题是“AS DECIMAL”,因为我发送了这个SQL,但是使用了“AS DECIMAL(8,2)”,我得到了正确的结果,但是我不知道如何让NHibernate生成正确的SQL

我尝试将.CustomSqlType(“DECIMAL(10,2)”)附加到映射字段,和/或在映射中使用.Precision(8).Scale(2),但什么都没有

我将FluentNHibernate与NHibernate 3.2.0.4000和MySQL 5.5.19一起使用,这可能与我在NH3.0中发现并在3.3.0中修复的一个bug有关

尝试升级到最新版本。

谢谢Diego!(格雷西亚斯·迭戈!)我试试看
  var total1 = (from vale in session.Query<Vale>()
                select vale).Sum(c => c.Importe);

  var total2 = (from vale in session.Query<Vale>()
                select vale.Importe).Sum();

  var total3 = (from vale in session.Query<Vale>()
                select new { vale.Importe }).Sum(c => c.Importe);
  var total1 = (from vale in session.Query<Vale>()
                select vale).Sum(c => (decimal) c.Importe);

  var total2 = (from vale in session.Query<Vale>()
                select (decimal) vale.Importe).Sum();

  var total3 = (from vale in session.Query<Vale>()
                select new { vale.Importe }).Sum(c => (decimal) c.Importe);
SELECT CAST(SUM(vale0_.importe) AS DECIMAL) AS col_0_0_ FROM vales vale0_