无法将DBNull.Value强制转换为“System.DateTime”。请使用可空类型.-查询SharePoint列表数据linqtoSQL

时间:2014-07-15 10:55:33

标签: linq sharepoint linq-to-sql

我有一个LinqToSQL查询,它应该检查来自SharePoint列表的ReturnedDate是否为空。 我写了下面的查询并在运行时返回错误" 无法将DBNull.Value强制转换为' System.DateTime'。请使用可空类型。"

IEnumerable<DataRow> x = from student in dt.AsEnumerable()
                                     join d in dt1.AsEnumerable() on student.Field<string>("Name") equals d.Field<string>("LapName")
                                     where d.Field<DateTime>("ReturnedDate") ==Convert.ToDateTime("")
                                     select student;

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

ReturnedDate 为空时,你无法投出。所以你必须先检查一下。
我想你可以使用:

IEnumerable<DataRow> x = from student in dt.AsEnumerable()
                                 join d in dt1.AsEnumerable() on student.Field<string>("Name") equals d.Field<string>("LapName")
                                 where d.Field<DateTime?>("ParentId").HasValue
                                 select student;