首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在DateTime上动态过滤ObjectQuery<T>

在DateTime上动态过滤ObjectQuery<T>
EN

Stack Overflow用户
提问于 2012-09-04 16:47:44
回答 2查看 463关注 0票数 2

我有以下方法,用于使用EF按日期过滤ObjectQuery:

代码语言:javascript
复制
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();
}      

这会导致以下错误:

代码语言:javascript
复制
'dateadd' cannot be resolved into a valid type or function.

有没有办法使用实体框架返回给定日期的记录列表(忽略DateTime的时间部分)?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-05 15:06:46

好的,今天早上我搞清楚了:

代码语言:javascript
复制
Where("SqlServer.datediff('DAY'," + dateColumn + ", @p{1}) = 0")
票数 1
EN

Stack Overflow用户

发布于 2012-09-04 21:02:44

Googling建议使用"SqlServer.dateadd...而不只是"dateadd...datediff也是如此。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12259857

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档