如果我们使用boolean
和SQL bit
,您可以指定这样在SQL表上插入..
oHotel.active ? 1 : 0
我有一个类似的情况,但我必须检查一个十进制值
decimal.MaxValue
当我必须插入null时,如果它不是maxValue,我必须插入他的值..
supplement.amount == decimal.MaxValue ? DBNull.Value : supplement.amount
但不起作用,它告诉我无法将空值转换为小数..
有人知道像这样的短暂工作方式吗? sql表中的值可以是null
..
答案 0 :(得分:4)
first_expression
和second_expression
的类型必须相同,或者从一种类型到另一种类型必须存在隐式转换。MSDN
我认为你不能直接使用DBNULL
作为你的第一个表达。
decimal? nullval = null;
or
decimal? nullval = Convert.ToDecimal(DBNull.Value);
supplement.amount == decimal.MaxValue ? nullval : supplement.amount
答案 1 :(得分:0)
使用可以为空的小数
decimal? oHotel = null;