问题栏

用户名:手机

悬赏金:40鼠币

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();
}

发布时间:2019-04-18
解答栏
  • 用户名:MASHEN

    用不着datediff,因为ef直接支持将大于小于号翻译成对应的sql

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

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

    如果你是7天内每小时,代码如下
    var query = 你的数据.where(x => x.时间字段 > dt).groupby(x => new { x.时间字段.month, x.时间字段.day, x.时间字段.hour });

    发布时间:2019-04-18



撰写答案
请登录后再回答