当尝试使用此代码限制where语句仅比较datetime字段的日期部分时,
var list = products.Where(x => ((DateTime)x.PurchaseDate).Date >= dt_SelectDate.Value.Date);
我使用
(DateTime)
转换是因为EF无法识别.GetValueOrDefault()
,并且PurchaseDate
字段可为空。我得到的错误是
LINQ to Entities不支持指定的类型成员'Date'。仅支持初始化程序,实体成员和实体导航属性。
最佳答案
我认为您需要使用EntityFunctions.TruncateTime方法来比较(仅)日期。
这是MSDN描述:http://msdn.microsoft.com/en-us/library/dd395596.aspx