我有DateTime字段,它存储日期+时间。我只需要使用日期部分,所以我尝试:
query = query.Where(p => p.CreatedDateTime.Date == DateStart);
但是我收到以下错误:
LINQ to Entities不支持指定的类型成员“Date”。 仅初始化程序,实体成员和实体导航属性 得到支持。
为什么以及如何解决它?
答案 0 :(得分:5)
怎么样:
query = query.Where(p => EntityFunctions.TruncateTime(p.CreatedDateTime) == DateStart);
答案 1 :(得分:1)
如果LINQ
无法将此转换为有效的Entity Framework
,则无法在导致数据库命中的SQL
次查询中使用扩展程序功能。
可能有一个更紧凑的解决方案,但以下应该可以正常工作:
query = query.Where(p =>
p.CreatedDateTime.Year == DateStart.Year &&
p.CreatedDateTime.Month == DateStart.Month &&
p.CreatedDateTime.Day == DateStart.Day);