这是代码(请忽略我的<p>中的<td>标记,这仅用于测试:


现在,我的SQL Server数据库中有NULL EarlyDod



比较item.EarlyDodDBNull.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

09-18 21:48