这是我的代码
var finalResults = (from r in results.AsEnumerable()
where r.Field<DateTime>("PrintTime") is DBNull
其中PrintTime
是我Sql Server 2008 r2
数据库中的一列,其类型为datetime
,且可以为空
我遇到了这个例外:
无法将DBNull.Value强制转换为&#39; System.DateTime&#39;。请用一个 可空类型。
你能帮忙吗?
答案 0 :(得分:11)
DataRow.Field
支持可空类型,因此请使用DateTime?
代替DateTime
:
var finalResults = from r in results.AsEnumerable()
let printTime = r.Field<DateTime?>("PrintTime")
where !printTime.HasValue
select r;