2012-04-04 61 views
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一起引入时,在选择列表中指定“。 我不知道什么是错it..plz帮助:LINQ的“错误只有一个表达式可以在选择列表中指定”到SQL

+0

http://stackoverflow.com/questions/1904314/only-one-expression-can-be-specified-in-the-select-list-when-the-subquery-is-not – mshsayem 2012-04-04 08:31:04

回答

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可空?如果是,那么将会减去什么值?

+0

thanks mshsayem .. – Abhishek 2012-04-04 09:03:24

相关问题