我在实体框架中的where子句中使用date并获得以下错误:
这是由于以下代码:
var entity = dbContext.MyTable .Where(w => w.PId = 3 && w.CreatedOn.Date == mydate.Date) .First();
如果我使用数据转换成列表.ToList()
,然后比较日期,它将正常工作,但如果我这样做,那么它将首先将数据拉入代码然后过滤掉它.请帮我解决这个问题.目前我使用存储过程来解决问题,但我真的希望这个工作.
您可以像这样使用DbFunctions.TruncateTime规范函数
var entity = dbContext.MyTable .Where(w => w.PId == 3 && DbFunctions.TruncateTime(w.CreatedOn) == mydate.Date) .First();