比较where子句中的日期部分

本文关键字:日期部 where 子句 比较 | 更新日期: 2023-09-27 18:15:14

当尝试使用以下代码约束where语句仅比较datetime字段的日期部分时,

var list =  products.Where(x => ((DateTime)x.PurchaseDate).Date >= dt_SelectDate.Value.Date);

我使用(DateTime)转换,因为EF不能识别.GetValueOrDefault(),并且PurchaseDate字段是可空的。

得到的错误是

在LINQ to Entities中不支持指定的类型成员'Date'。只支持初始化式、实体成员和实体导航属性。

比较where子句中的日期部分

我认为你需要的EntityFunctions。TruncateTime方法来比较(只是)日期。

MSDN描述如下:http://msdn.microsoft.com/en-us/library/dd395596.aspx