微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 可以用linq运行查询来搜索一段时间吗?

问题详情:

> sql Server 2005;
>实体框架4.0.

我正在尝试使用linq来运行一段时间的查询.例:

我的服务器中有以下日期时间数据:

30/03/2012 12:53:22
30/03/2012 17:23:29
04/04/2012 11:10:14
04/04/2012 19:06:55

我想运行一个查询,它将在时间(12:00和20:00)之间返回所有数据,并且查询必须返回给我以下数据:

30/03/2012 12:53:22
30/03/2012 17:23:29
04/04/2012 19:06:55

或者在(11:00和13:00)之间,查询必须返回给我以下数据:

30/03/2012 12:53:22
04/04/2012 11:10:14

我怎么能用linq做到这一点?有可能(忽略日期,只使用时间)?

解决方法

var filteredTimes = myContext.MyTable
   .Where(r => sqlFunctions.DatePart("hour",r.DateField) >= 11 &&
               sqlFunctions.DatePart("hour",r.DateField) <= 13);

您需要包含System.Data.Objects.sqlClient才能获取sqlFunctions.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐