Linq查询日期给出错误" Nullable对象必须有值。"

时间:2017-08-04 19:41:18

标签: entity-framework linq

我有一个对象列表,我将这些对象传递到一个函数中,我希望过滤掉特定公司的记录,以及今天的DateTime字段。

我收到错误" Nullable对象必须有值。"当我这样做时,我相信这是因为有些" Verified_Date" fields为null,但不是全部。

这是我提出的LINQ。有没有办法可以过滤掉特定的公司,如果有一个Verified_Date =今天,即使某些记录有一个Verified_Date = NULL?

var today = DateTime.Today;
var listFiltered = data.Where(d => d.CompanyCode == companyCode && d.VerifiedDate.Value.Date == today).ToList();

2 个答案:

答案 0 :(得分:1)

你可以试试这个:

var today = DateTime.Today;
var listFiltered = data.Where(d => d.CompanyCode == companyCode 
                                && d.VerifiedDate!=null
                                && d.VerifiedDate.Value.Date == today).ToList();

答案 1 :(得分:1)

检查VerifiedDate条件中Where是否为空。

var listFiltered = data.Where(d => d.CompanyCode == companyCode
                                && d.VerifiedDate != null
                                && d.VerifiedDate.Value.Date == DateTime.Today)
                       .ToList();