如何编写以下行:
document.Total = reader.IsDBNull(reader.GetOrdinal("Total")) == true : 0.0m ? (decimal?)reader["Total"];
我得到的错误是无法将类型从bool转换为十进制?
答案 0 :(得分:4)
您不小心翻了?
和:
。它应该是:
document.Total = reader.IsDBNull(reader.GetOrdinal("Total")) == true ? 0.0m : (decimal?)reader["Total"];
答案 1 :(得分:1)
只是添加一种更短的方式来处理DBNull.Value
和DataReaders。
考虑使用
document.Total = (reader["Total"] as decimal?) ?? 0.0m;