使用Nhibernate指定的Cast无效错误

时间:2013-08-12 23:25:41

标签: c# nhibernate type-conversion decimal

使用Nhibernate,Visual Studio 2010,C#。

我在转换十进制时遇到问题?类型。代码给出了

  

指定的投射无效错误

并在.UniqueResult<>上失败线。

以下是我的代码。

private decimal? GetCostValueFromQuery(string query, ItemPriceContext item)
{
    var session = ActiveRecordMediator.GetSessionFactoryHolder()
                                      .CreateSession(typeof(object));
    return session.CreateSQLQuery(string.Format(query, item.ItemCode))
                  .UniqueResult<decimal?>();
}

我的SQL查询结果是62.3891005516052

我怀疑结果有很多小数位,因此失败了。

我有什么建议可以对结果进行舍入或减少结果以使其得到支持?

1 个答案:

答案 0 :(得分:0)

在SQL查询的SELECT部分​​中使用您需要的任何舍入,截断等。

但是你还应该检查SQL查询的实际返回类型是什么。它真的是小数吗?