EF 按时查询数据怎么实现(一周内每天的小时)

图片说明

for (int i = 0; i < 24; i++)
{
DateTime temp = new DateTime(endTime.Year, endTime.Month, endTime.Day, i, 0, 0);
int tag = temp.Hour;
flowWhere = (m) => m.WebInfo.Id == webId && m.DeviceType.Contains(device) && SqlFunctions.DateDiff("hh", temp, m.CurrentTime) == 0;
vifWhere = (m) => m.WebInfo.Id == webId && m.DeviceType.Contains(device) && SqlFunctions.DateDiff("hh", temp, m.AccessTime) == 0 || m.VisitSE == source || m.Address == territory;
TimeSpan ts = new TimeSpan(temp.Hour, 0, 0);
VisitorInfo model = new VisitorInfo();
model.Address = ts.ToString();
model.Age = tag;
se.Add(model);
VisitorInfo visitor = sm.GetHourByExpression(vifWhere, flowWhere);
UV.Add(visitor);
}
se = se.OrderBy(m => m.Address).ToList();
}

ef的时间日期可以直接用>比较,但是DateTime.AddDays不可用,可以先算出来

var dt = DateTime.Now.AddDays(-7);

var query = 你的数据.Where(x => x.时间字段 > dt);

这样就能查询出7天内了

.AddMonths(-1) 就是一个月
以此类推