这是代码(请忽略我的<p>
中的<td>
标记,这仅用于测试:
现在,我的SQL Server数据库中有NULL
EarlyDod
:
比较item.EarlyDod
和DBNull.Value
时出现的错误是:
我理解此错误,并且很有意义,但是当我在数据库中有一个NULL
值时(我会以为是DBNull.Value
否?),如何比较C#对象的值item.EarlyDod
来检查它是否为数据库中为NULL?通过我的WebAPI(以JSON格式)从数据库返回的EarlyDod
值为“ 0001-01-01T00:00:00”,不是某种NULL值,即使您在数据库。
最佳答案
DateTime
不可为空。因此,当您拉动它时,它将实例化DateTime(DateTime.MinValue
)的默认值
因此,您可以将item.EarlyDod
转换为DateTime?
,然后使用
item.EarlyDod != null
或将其保留为DateTime并简单地替换
item.EarlyDod != DBNull.Value
与
item.EarlyDod != DateTime.MinValue