我要做的是在上周搜索我的数据库(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);
所以我正在寻找这个查询的一些帮助,是否有可以使用的中间函数?
答案 0 :(得分:4)
DateTime weekFromNow = DateTime.Now.AddDays(-7);
var records = (from r in context.PumpInfoTables
where r.Date < DateTime.Now
&& r.Date >= weekFromNow
select r);
答案 1 :(得分: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
,假设您只对日期部分感兴趣,而不是时间。
答案 2 :(得分:0)
这样的东西?:
var records = (from r in context.PumpInfoTables
where r.Date > DateTime.Today.AddDays(-7)
select r);