我有一个ASP.NET MVC 4应用程序和Server数据库。我将记录保存在数据库中,其中有datetime列DateCreated。
我需要得到昨天所有的值,但是当我试图得到它时,我会出错。
var model = _orderRepo.GetAll().Where(x => x.DateCreated.Value.ToShortDateString() ==
DateTime.Now.AddDays(-1).ToShortDateString());错误:
LINQ到实体不识别方法'System.String ToShortDateString()‘方法,并且该方法不能转换为存储表达式。
有人能帮我吗?
发布于 2014-07-17 07:21:04
试试这个:
var date = DateTime.Now.AddDays(-1);
var model = _orderRepo.GetAll().Where(x => x.DateCreated.Year == date.Year
&& x.DateCreated.Month == date.Month
&& x.DateCreated.Day == date.Day);发布于 2014-07-17 07:19:39
除非我错过了什么,为什么不:
var model =
_orderRepo.GetAll()
.Where(x => x.DateCreated.Value.Date == DateTime.Today.AddDays(-1)));顺便提一句,确保您没有查询所有“订单”,然后应用筛选器(我认为是这样),理想情况下,您应该在查询中这样做。
https://stackoverflow.com/questions/24797099
复制相似问题