我有一个logins表记录所有登录和注销活动.我希望在24小时内查看特定用户的所有登录活动.怎么做?这样的事情:
var records = from record in db.Logins
where record.Users.UserId == userId
&& record.Timestamp <= (DateTime.Now + 24)
select record;
Run Code Online (Sandbox Code Playgroud)
record.Timestamp <= (DateTime.Now + 24)这里错了.我正在使用C#3 + L2E.
显然麻烦源于此DateTime.Now + 24.这是不可能的,因为DateTime类型没有指定+运算符int.
你的意思是:DateTime.Now.AddHours(24)?或者更具体地说,-24(除非您的表包含将来添加的记录).
record.Timestamp >= DateTime.Now.AddHours(-24)
Run Code Online (Sandbox Code Playgroud)
要提高性能,可以将日期存储在变量中.
DateTime since = DateTime.Now.AddHours(-24);
var records = from record in db.Logins
where record.Users.UserId == userId
&& record.Timestamp >= since
select record;
Run Code Online (Sandbox Code Playgroud)
如果您的时间戳恰好是刻度线,请since.Ticks改用.
| 归档时间: |
|
| 查看次数: |
687 次 |
| 最近记录: |