1

我想要做的是在我的数据库(ado.net with linq to sql)中搜索上周的所有条目。

数据库有一个名为 date 的字段,我需要当前日期前 7 天的条目。

var records = (from r in context.PumpInfoTables
               where r.Date.Equals(DateTime.Now)
               //&& where r.date <= 7 days <--help
               select r);

所以我正在寻找有关此查询的帮助,是否可以使用 between 函数?

4

3 回答 3

4
DateTime weekFromNow = DateTime.Now.AddDays(-7);
var records = (from r in context.PumpInfoTables
                           where r.Date < DateTime.Now
                           && r.Date >= weekFromNow
                           select r);
于 2013-04-04T14:13:04.983 回答
3

这真的很简单:

var oneWeekAgo = DateTime.Today.AddDays(-7);
var records = (from r in context.PumpInfoTables
               where r.Date >= oneWeekAgo
               select r);

这假设您没有来自未来的条目。如果有,请改用它:

var today = DateTime.Today;
var oneWeekAgo = today.AddDays(-7);
var records = (from r in context.PumpInfoTables
               where r.Date >= oneWeekAgo && r.Date <= today + 1
               select r);

请注意:
我的代码使用DateTime.Today代替DateTime.Now,假设您只对日期部分感兴趣,而不是时间。

于 2013-04-04T14:13:38.787 回答
0

像这样的东西?:

var records = (from r in context.PumpInfoTables
                           where r.Date > DateTime.Today.AddDays(-7)
                           select r);
于 2013-04-04T14:14:46.230 回答