我有以下方法,用于使用EF按日期过滤ObjectQuery:
public List<T> FilterObjectSetByDate<T>(ObjectQuery<T> inputQuery, string dateColumn) where T : class
{
ObjectQuery<T> filteredQuery = inputQuery.Where("(dateadd(dd,0, datediff(dd,0, it" + dateColumn + ")) = @p0)");
ObjectParameter objParam = new ObjectParameter("p0", DateTime.Now);
filteredQuery.Parameters.Add(objParam);
return filteredQuery.ToList();
} 这会导致以下错误:
'dateadd' cannot be resolved into a valid type or function.有没有办法使用实体框架返回给定日期的记录列表(忽略DateTime的时间部分)?
发布于 2012-09-05 15:06:46
好的,今天早上我搞清楚了:
Where("SqlServer.datediff('DAY'," + dateColumn + ", @p{1}) = 0")发布于 2012-09-04 21:02:44
Googling建议使用"SqlServer.dateadd...而不只是"dateadd...,datediff也是如此。
https://stackoverflow.com/questions/12259857
复制相似问题