我有一个Oracle数据表获取为null的列.所以我想保持代码很好,很简单,我会使用?? 操作数.AlternatePhoneNumber是我的C#模型中的字符串.
AlternatePhoneNumber = customer.AlternatePhoneNumber ?? ""
Run Code Online (Sandbox Code Playgroud)
但是,即使使用该代码,我仍然会收到错误.
System.InvalidCastException: Unable to cast object of type 'System.DBNull' to type 'System.String'.
Run Code Online (Sandbox Code Playgroud)
我知道错误意味着什么,但为什么?在DBNull上不可用?是不是null和DBNull基本相同?
谢谢.
SLa*_*aks 15
该??操作仅适用于实际null秒.
null并且DBNull.Value不一样; DBNull.Value只是一个占位符对象.
此外,AlternatePhoneNumber在??运算符执行之前,该异常来自属性内部.(您的代码没有演员表).
如果customer是类型化数据集中的行,请更改设计器中列的NullValue属性.