“错误:只能在选择列表中指定一个表达式”Linq To Sql

时间:2012-04-04 08:26:52

标签: linq-to-sql

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

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

1 个答案:

答案 0 :(得分: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);

btw,UserSessionStop可以为空吗?如果是,那么要减去的值是什么?