天天看点

EF System.NotSupportedException

  • System.NotSupportedException: The specified type member 'Date' is not supported in LINQ to Entities. Only initializers, entity members, and entity navigation properties are supported.【LINQ to Entities不支持类型成员‘Date’,仅支持初始化器,实体成员和实体导航属性】

错误是这样出来的:

query = query.Where(a => a.StatDate.HasValue && a.StatDate.Value ==System.DateTime.Now.Date);
           

搞来搞去,有人说要用DbFunctions.TruncateTime这个方法先对要对比的值进行处理什么的,其实好像都不行,其实好像并不是这样,其实是System.DateTime.Now.Date这个东东不应该出现在

using (XLShouYouEntites db = new XLShouYouEntites())
{
}
           

之间,如果在这个之前就定义一个变量:

DateTime today = System.DateTime.Now.Date;
           

然后在这个using之间使用这个today变量就不会有问题了,应该是因为EF不具有这些功能,不能完成 LINQ to Entities的转换。