我的表中有一个nvarchar字段,当在.Net中映射时,它会转换为整数(测试的值为'305415042-1')
测试失败,因为“从数字转换时,值必须是小于无穷大的数字”
如何显式转换或转换字段,以便它实际上将其作为字符串而不是尝试将其转换为int?
BetReference上发生错误(此字段不仅仅是数字,但对于当前数据,我有数字):
while (dr.Read())
{
var b = new Bet
{
Id = (int) dr["Id"],
BetTypeId = (int) dr["BetTypeId"],
BetAmount = (decimal) dr["BetAmount"],
BetAmountToWin = (decimal) dr["BetAmountToWin"],
BetLocationId = (int) dr["BetLocationId"],
BetReferenceNumber = (dr["BetReferenceNumber"]).ToString()
};
data.Add(b);
}
感谢
修改:
问题实际上是由于DB中的数据类型是浮点数,而我试图转换为十进制。更改了列的数据类型并工作。
答案 0 :(得分:1)
更改
BetReferenceNumber = (dr["BetReferenceNumber"]).ToString()
是
BetReferenceNumber = dr["BetReferenceNumber"].ToString()
或[建议Arunprasanth KV]
BetReferenceNumber = Convert.ToString(dr["BetReferenceNumber"])