加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

oracle – Dapper,十进制更加?理会列X时堕落

发布时间:2021-01-10 09:49:03 所属栏目:站长百科 来源:网络整理
导读:我的数据库是Oracle.我行使Dapper 1.13,它抛出一个非常,说错误理会第3列(LATITUDE = 39.2330 – 十进制). LATITUDE是双倍?输入我的实体. 请帮我. 感谢 办理要领 是的,这是一个错误;在当地牢靠 – 根基上,更转业2367(哇,该文件何时变得云云之大?)来自: il.

我的数据库是Oracle.我行使Dapper 1.13,它抛出一个非常,说错误理会第3列(LATITUDE = 39.2330 – 十进制). LATITUDE是双倍?输入我的实体.

请帮我.

感谢

办理要领

是的,这是一个错误;在当地牢靠 – 根基上,更转业2367(哇,该文件何时变得云云之大?)来自:

il.Emit(OpCodes.Ldtoken,unboxType);

至:

il.Emit(OpCodes.Ldtoken,Nullable.GetUnderlyingType(unboxType) ?? unboxType);

根基上,它是发出:(十进制?)Convert.ChangeType(val,typeof(十进制?))什么时辰应该发光(十进制?)Convert.ChangeType(val,typeof(十进制))(留意最重要的?的范例).

编辑:现实上,我推送到git的修复比修复Convert.ChangeType要伟大得多 – 它此刻按照必要理会运算符,以是小数< ===>双重转换行使IL静态挪用.

这将在下一个版本中修复.可能您可以在当地构建.此刻通过以下内容:

public void TestDoubleDecimalConversions_SO18228523_RightWay()
{
    var row = connection.Query<HasDoubleDecimal>(
        "select cast(1 as float) as A,cast(2 as float) as B,cast(3 as decimal) as C,cast(4 as decimal) as D").Single();
    row.A.Equals(1.0);
    row.B.Equals(2.0);
    row.C.Equals(3.0M);
    row.D.Equals(4.0M);
}
public void TestDoubleDecimalConversions_SO18228523_WrongWay()
{
    var row = connection.Query<HasDoubleDecimal>(
        "select cast(1 as decimal) as A,cast(2 as decimal) as B,cast(3 as float) as C,cast(4 as float) as D").Single();
    row.A.Equals(1.0);
    row.B.Equals(2.0);
    row.C.Equals(3.0M);
    row.D.Equals(4.0M);
}
public void TestDoubleDecimalConversions_SO18228523_Nulls()
{
    var row = connection.Query<HasDoubleDecimal>(
        "select cast(null as decimal) as A,cast(null as decimal) as B,cast(null as float) as C,cast(null as float) as D").Single();
    row.A.Equals(0.0);
    row.B.IsNull();
    row.C.Equals(0.0M);
    row.D.IsNull();
}

class HasDoubleDecimal
{
    public double A { get; set; }
    public double? B { get; set; }
    public decimal C { get; set; }
    public decimal? D { get; set; }
}

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读