【发布时间】:2016-06-24 18:00:35
【问题描述】:
所以我试图通过
从INT,而不是INT NOT NULL 列中检索一个值
AnswerVal = !dataReader.IsDBNull(5) ? dataReader.GetInt32(5) : null
AnswerVal 的类型为 int?,我收到编译时错误
无法确定条件表达式的类型,因为 'int' 和 null 之间没有隐式转换
知道这里出了什么问题吗?
是的,我查看了SQL Data Reader - handling Null column values,但我不明白我做错了什么,因为我的内联 if/else 等同于那里的答案。
【问题讨论】:
-
您是否尝试将表达式显式转换为
int? -
当列是
INT NOT NULL时,你为什么还要费心检查null。只需制作您的模型int并完成它 -
整数? AnswerVal = dataReader.IsDBNull(5) ? (int?)null : dataReader.GetInt32(5);
标签: c# sql asp.net sql-server tsql