从数据库返回时 CAST 无效

Invalid CAST When Returning From Database

我正在 运行 查询并返回该查询的结果集。除了来自 AS400 的客户编号数据类型表示无论我在模型中使用哪种数据类型,它都无法进行 CAST 之外,一切都很好。我确定我缺少一些简单的东西,但 12 小时足够长了。我可以验证 as400 中的客户编号字段是一个数值,但是我无法确定它在 as400 中的确切值类型。

这是我正在填充的列表。

while (reader.Read())
{
    //Lets add the data to our list we created earlier...
    customerList.Add(new getCustomerInfoModel
    {
        // What returned values do we want to list...
        UMENT = reader.GetString(0),
        UMCUS = reader.GetInt32(1),
        UMNAM = reader.GetString(2),
        UMSLC = reader.GetString(3)
    });
}

还有我的模特...

public class getCustomerInfoModel
{
    public string UMENT { get; set; }
    public int UMCUS { get; set; }
    public string UMNAM { get; set; }
    public string UMSLC { get; set; }
}

使用了错误的数据类型:

UMCUS = reader.GetDecimal(1)

这允许程序正确地return。

while (reader.Read())
{
    //Lets add the data to our list we created earlier...
    customerList.Add(new getCustomerInfoModel
    {
        // What returned values do we want to list...
        UMENT = reader.GetString(0),
        UMCUS = reader.GetDecimal(1),
        UMNAM = reader.GetString(2),
        UMSLC = reader.GetString(3)
    });
}

Class:

public class getCustomerInfoModel
{
    public string UMENT { get; set; }
    public Decimal UMCUS { get; set; }
    public string UMNAM { get; set; }
    public string UMSLC { get; set; }
}