0
var loggedInHours = db.LoginLogs.Where(l => l.UserId == u.Id && l.UserSessionStop != null)
                                                                     .Sum(ls=> ls.UserSessionStart.Subtract(ls.UserSessionStop.Value).Hours)

我正在尝试使用此 linq 查询计算总 LoggedIn 小时数。但它给了我这个错误“当 EXISTS 没有引入子查询时,只能在选择列表中指定一个表达式。” 我不知道它有什么问题..请帮助

4

1 回答 1

2

试试这是否有效:

var loggedInHours = db.LoginLogs.Where(l => l.UserId == u.Id && l.UserSessionStop != null)
                      .Select(l=> new { 
                                         StartTime = l.UserSessionStart,  
                                         EndTime = l.UserSessionStop
                                      })
                     .ToList()
                     .Sum(c=> c.StartTime - c.EndTime);

顺便说一句,可以为UserSessionStop空吗?如果是,那么要减去的值是多少?

于 2012-04-04T08:42:19.233 回答