我收到错误:
Input string was not in a correct format.
某些父 ID 可以为空。如果我评论 ParentId 就成功了,所以我知道就是那一行。
var mModel = new MyModel
{
//non nullable
Id = int.Parse(dr["Id"].ToString()),
//nullable
ParentId = int.Parse(dr["ParentId"].ToString()), <--- Throwing the error here
//non nullable
ProductService = dr["MyString"].ToString()
};
我尝试过 Convert.ToInt32() 和 TryParse() 以及事件 ToNullableInt 扩展方法,但这不起作用。
最佳答案
检查dr["ParentId"]
中的数据库是否为空然后转换为 int
或分配 null,如下所示:
ParentId = !dr.IsDBNull(dr.GetOrdinal("ParentId"))
? dr.GetInt32(dr.GetOrdinal("ParentId"))
: null;
Note: The above code assumes that the
ParentId
variable is a nullable integer (int?
orNullable<int>
.
关于c# - Nullable Int 输入字符串的格式不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20535087/