我收到Unable to cast object of type 'System.Int64' to type 'System.Int32'
:
item.ItemCount = reader.GetInt32(reader.GetOrdinal("amount"));
我尝试过:
item.ItemCount = reader.GetInt64(reader.GetOrdinal("amount"));
但是我得到了
Error CS0266
Cannot implicitly convert type 'long' to 'int'.
An explicit conversion exists (are you missing a cast?)
该字段为bigint
,这是我第一次使用.Net。
答案 0 :(得分:1)
您必须使用GetInt64
item.ItemCount = reader.GetInt64(reader.GetOrdinal("amount"));
SQL bigint
与.NET long
等效,GetInt64
返回long
,而GetInt32
返回int
。
有关更多详细信息,请参见this documentation。